自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于Linux串口測試工具解析

運(yùn)維 系統(tǒng)運(yùn)維
Linux串口測試工具網(wǎng)上常見的版本都看起來比較煩瑣,下面是一個(gè)簡單一點(diǎn)的,這個(gè)程序功能是收到10個(gè)字節(jié)后會(huì)發(fā)前7個(gè)字節(jié),如果所發(fā)的數(shù)據(jù)的第一個(gè)字節(jié)是9則退出。

由于已經(jīng)完成了***個(gè)HELLO程序,標(biāo)志著整個(gè)編譯環(huán)境已經(jīng)沒有問題了,下來準(zhǔn)備做一下串口測試程序。由于串口驅(qū)動(dòng)開發(fā)板已經(jīng)作好了,所以就作一個(gè)Linux串口測試工具簡單的數(shù)據(jù)收發(fā)看看。
 

  1. /* rs232_send.c*/  
  2. #include   
  3. #include   
  4. #include   
  5. #include   
  6. #include  
  7. #include   
  8. #include   
  9. #include   
  10. #include   
  11. #defineBAUDRATEB115200//38400  
  12. #defineMODEMDEVICE"/dev/ttyS1"  
  13. int main()  
  14. {  
  15. int fd,c=0,res;  
  16. struct termios oldtio,newtio;  
  17. intch;  
  18. static char s1[20],buf[19];  
  19. printf("start ...\n");  
  20. /*打開PC的COM1口*/  
  21. fd = open(MODEMDEVICE,O_RDWR|O_NOCTTY);   
  22. if (fd  
  23. {  
  24. perror(MODEMDEVICE);  
  25. exit(1);  
  26. }  
  27. printf("open...\n");  
  28. /*將舊的通訊參數(shù)存入oldtio結(jié)構(gòu)*/  
  29. tcgetattr(fd,&oldtio);  
  30. /*初始化新的newtio */  
  31. bzero(&newtio,sizeof(newtio));  
  32. /*8N1*/  
  33. newtio.c_cflag = BAUDRATE|CS8|CLOCAL|CREAD;  
  34. newtio.c_iflag = IGNPAR;  
  35. newtio.c_oflag = 0;  
  36.  
  37. /*正常模式*/  
  38. /*newtio.c_lflag = ICANON;*/  
  39.     
  40. /*非正常模式*/  
  41. newtio.c_lflag = 0;  
  42. newtio.c_cc[VTIME] = 0;   
  43. newtio.c_cc[VMIN] = 10;  
  44.  
  45. tcflush(fd,TCIFLUSH);  
  46. /*新的temios作為通訊端口參數(shù)*/  
  47. tcsetattr(fd,TCSANOW,&newtio);  
  48. printf("writing...\n");  
  49.  
  50. while(1)  
  51. {  
  52. res = read(fd,buf,10);  
  53. res = write(fd,buf,7);  
  54. if(buf[0]==9) break;  
  55. }  
  56.  
  57. printf("close...\n");  
  58. close(fd);  
  59. /*還原舊參數(shù)*/  
  60. tcsetattr(fd,TCSANOW,&oldtio);  
  61. return 0;  
  62. }  


還有一點(diǎn)要注意,就是Linux串口測試工具串口有兩種工作模式,即正規(guī)模式和非正規(guī)模式,如果習(xí)慣在串口調(diào)試器中用16進(jìn)制發(fā)送,此時(shí)串口應(yīng)該為非正規(guī)模式才行。

下面是這兩種模式的說明
Linux串口測試工具正規(guī)模式(CANONICAL或者COOKED)
此模式下,終端設(shè)備會(huì)處理特殊字符,并且數(shù)據(jù)傳輸是一次一行的方式,既按回車后才開始發(fā)送和接收數(shù)據(jù)。例如LINUX的SHELL。
Linux串口測試工具非正規(guī)模式(NON-CANONICAL或者RAW)
此模式下,終端設(shè)備不會(huì)處理特殊字符,并且數(shù)據(jù)傳輸是一次一個(gè)字符的方式,既不用按回車換行。例如LINUX的VIM。

【編輯推薦】

  1. 學(xué)習(xí)筆記 Linux系統(tǒng)下如何進(jìn)行SVN服務(wù)器搭建
  2. linux 網(wǎng)絡(luò)監(jiān)控系統(tǒng)的開發(fā)及其應(yīng)用
  3. Linux環(huán)境中Windows軟件環(huán)境的十七個(gè)替代品
  4. 系統(tǒng)監(jiān)控:linux 系統(tǒng)監(jiān)控命令詳解
  5. Linux壓力測試工具webbench的安裝使用介紹
責(zé)任編輯:chenqingxiang 來源: IT168
相關(guān)推薦

2010-06-07 14:05:38

Linux串口測試工具

2010-05-28 10:53:07

Linux串口測試工具

2010-06-07 14:42:47

Linux性能測試工具

2010-06-13 17:12:10

Linux串口測試工具

2010-06-07 17:46:46

Linux壓力測試工具

2025-01-26 11:05:23

2010-06-04 16:31:33

Linux網(wǎng)絡(luò)測試

2010-06-04 16:07:09

Linux 性能測試工

2022-01-24 16:55:09

LinuxTCP工具

2024-03-06 18:09:06

Linux性能工具

2010-06-11 11:20:18

Linux性能測試工具

2009-06-26 10:22:58

JSF測試

2011-05-31 18:09:05

動(dòng)態(tài)測試

2010-06-17 15:16:22

Linux測試工具

2010-06-10 17:37:08

Linux 性能測試工

2010-05-27 18:04:06

Linux測試工具

2010-05-27 18:14:46

Linux測試工具

2010-06-17 15:25:10

Linux測試工具

2015-07-27 18:19:22

Linuxstress參數(shù)

2010-05-27 18:48:20

Linux壓力測試工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)