1.連線方法
若debug板的rx/tx沒有反轉,開發板跟debug板連線方式如下:
rx - tx,tx - rx, gnd - gnd
若debug板的rx/tx有反轉,開發板跟debug板連線方式如下:
rx - rx,tx - tx,gnd - gnd
2.測試開發板的tx功能
開發板通過debug板連線pc,pc開啟uart除錯工具
在開發板端echo "test" > /dev/ttys2,pc端uart除錯工具可以收到test字元
3.測試開發板的rx功能
開發板通過debug板連線pc,pc開啟uart除錯工具
開發板跑如下讀對應ttysx的測試程式:
#include #include #include #include int main(void)
fcntl(fd, f_setfl, 0); //閱嶈涓哄牭濉炵姸鎬? 鍘繪帀o_nonblock
//struct termios opts;
tcgetattr(fd, &opts); //鎶婂師璁劇疆鑾峰彇鍑烘潵錛屽瓨鏀懼湪opts
//璁劇疆娉㈢壒鐜?
cfsetispeed(&opts, b115200);
cfsetospeed(&opts, b115200);
opts.c_cflag |= clocal|cread; //蹇界暐modem鎺у埗綰? 鍚姩鎺ユ敹鍣?
// 8n1
opts.c_cflag &= ~parenb;
opts.c_cflag &= ~cstopb;
opts.c_cflag |= cs8;
opts.c_cflag &= ~crtscts; //鍏抽棴紜歡嫻佹帶
opts.c_lflag &= ~(icanon | echo | echoe | isig); //raw input
opts.c_oflag &= ~opost; // raw output
tcsetattr(fd, tcsanow, &opts);
//char data[1024];
while(1)
else
memset(data,0,sizeof(data));
//sleep(1);
}close(fd);
return 0;
}
pc通過uart除錯工具傳送字元,開發板可以正常收到字元:
uart設定波特率:
設定demo程式如下:
#include #include #include #include #include #include #include #include #include int set_opt(int fd,int nspeed, int nbits, char nevent, int nstop)
bzero( &newtio, sizeof( newtio ) );
newtio.c_cflag |= clocal | cread;
newtio.c_cflag &= ~csize;
switch( nbits )
switch( nevent )
switch( nspeed )
if( nstop == 1 )
else if ( nstop == 2 )
newtio.c_cc[vtime] = 0;
newtio.c_cc[vmin] = 0;
tcflush(fd,tciflush);
if((tcsetattr(fd,tcsanow,&newtio))!=0)
printf("set done!\n");
return 0;
}int open_port(int fd,int comport)
; long vdisable;
if (comport==1)
else
}else if(comport==2)
else
}else if (comport==3)
else
}if(fcntl(fd, f_setfl, 0)<0)
else
if(isatty(stdin_fileno)==0)
else
printf("fd-open=%d\n",fd);
return fd;
}int main(void)
if((i=set_opt(fd,1500000,8,'n',1))<0)
#if 0
if((fd=open_port(fdtest,1))<0)
#endif
if( tcgetattr( fd,&tmptio) != 0)
ospeed = cfgetospeed(&tmptio);
ispeed = cfgetispeed(&tmptio);
printf("ospeed: %d,ispeed: %d\n",ospeed,ispeed);
//printf("fd=%d\n",fd);
//nread=read(fd,buff,8);
//printf("nread=%d,%s\n",nread,buff);
close(fd);
return;
}
可以用dump_stack();印出call flow如下:
tty_mode_ioctl->set_termios->tty_set_termios->ms_uart_set_termios
硬體測試流程及方法 測試流程與測試方法
1.產品 開發 測試流程 需求分析 需求分析由產品人員制定,細化每乙個功能的細節,每乙個按鈕的位置,對於稍大或複雜一點的需求進行建模。需求評審 這裡會叫上所有參與專案人員進行,開發人員 測試人員。測試人員提出需求,開發人員考慮功能實現的方案與可行性 當然開發負責也是要參與的。測試人員主要是對需求的理...
軟體測試 整合測試方法
我想說起整合測試來大家一定都不陌生,但是如果說起整合測試的具體測試方法大家是否了解呢,那我來介紹一下有關整合測試的方法,希望對新手有所幫助。整合測試是單元測試的邏輯擴充套件。它的最簡單的形式是 兩個已經測試過的單元組合成乙個元件,並且測試它們之間的介面。從這一層意義上講,元件是指多個單元的整合聚合。...
功能測試 黑盒測試方法
正常的 錯誤的 極端的 的 以使用者體驗的角度 所有的流程 在沒有人提示的情況下 自己用一遍 測試用例的方法 如何溝通和獲取足夠的測試用例資訊 實戰的例子 bug預防和經驗分享 常用的測試用例方法 等價類劃分 把資料分為兩類 一類是有效等價類 輸入的資料是系統允許輸入的 另一類是無效的 輸入的資料是...