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

Linux串口測試工具簡單程序代碼解析

系統(tǒng) Linux
網(wǎng)上常見的版本都看起來比較煩瑣,今天介紹是一個簡單一點(diǎn)的,和大家一起學(xué)習(xí)了解,以下是程序的具體代碼

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

Linux串口測試工具網(wǎng)上常見的版本都看起來比較煩瑣,下面是一個簡單一點(diǎn)的,這個程序功能是收到10個字節(jié)后會發(fā)前7個字節(jié),如果所發(fā)的數(shù)據(jù)的第一個字節(jié)是9則退出。
/* rs232_send.c*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#defineBAUDRATEB115200//38400
#defineMODEMDEVICE"/dev/ttyS1"
int main()
{
int fd,c=0,res;
struct termios oldtio,newtio;
intch;
static char s1[20],buf[19];
printf("start ...\n");
/*打開PC的COM1口*/
fd = open(MODEMDEVICE,O_RDWR|O_NOCTTY);
if (fd
{
perror(MODEMDEVICE);
exit(1);
}
printf("open...\n");
/*將舊的通訊參數(shù)存入oldtio結(jié)構(gòu)*/
tcgetattr(fd,&oldtio);
/*初始化新的newtio */
bzero(&newtio,sizeof(newtio));
/*8N1*/
newtio.c_cflag = BAUDRATE|CS8|CLOCAL|CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;

/*正常模式*/
/*newtio.c_lflag = ICANON;*/
 
/*非正常模式*/
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 10;

tcflush(fd,TCIFLUSH);
/*新的temios作為通訊端口參數(shù)*/
tcsetattr(fd,TCSANOW,&newtio);
printf("writing...\n");

while(1)
{
res = read(fd,buf,10);
res = write(fd,buf,7);
if(buf[0]==9) break;
}

printf("close...\n");
close(fd);
/*還原舊參數(shù)*/
tcsetattr(fd,TCSANOW,&oldtio);
return 0;
}
還有一點(diǎn)要注意,就是Linux串口測試工具串口有兩種工作模式,即正規(guī)模式和非正規(guī)模式,如果習(xí)慣在串口調(diào)試器中用16進(jìn)制發(fā)送,此時串口應(yīng)該為非正規(guī)模式才行。

下面是這兩種模式的說明
Linux串口測試工具正規(guī)模式(CANONICAL或者COOKED)
此模式下,終端設(shè)備會處理特殊字符,并且數(shù)據(jù)傳輸是一次一行的方式,既按回車后才開始發(fā)送和接收數(shù)據(jù)。例如LINUX的SHELL。
Linux串口測試工具非正規(guī)模式(NON-CANONICAL或者RAW)
此模式下,終端設(shè)備不會處理特殊字符,并且數(shù)據(jù)傳輸是一次一個字符的方式,既不用按回車換行。例如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)境的十七個替代品
  4. 系統(tǒng)監(jiān)控:linux 系統(tǒng)監(jiān)控命令詳解
  5. Linux壓力測試工具webbench的安裝使用介紹
     
責(zé)任編輯:chenqingxiang
相關(guān)推薦

2010-06-13 17:12:10

Linux串口測試工具

2010-06-11 11:35:55

Linux串口測試工具

2010-06-07 14:05:38

Linux串口測試工具

2009-11-30 16:52:19

PHP簡單程序范例

2025-01-26 11:05:23

2010-06-04 16:31:33

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

2010-06-04 16:07:09

Linux 性能測試工

2010-06-07 14:42:47

Linux性能測試工具

2022-01-24 16:55:09

LinuxTCP工具

2024-03-06 18:09:06

Linux性能工具

2015-06-25 10:14:01

Code Climat 代碼測試工具

2009-06-26 10:22:58

JSF測試

2011-05-31 18:09:05

動態(tài)測試

2010-07-17 00:55:48

PHP Telnet

2010-06-11 11:20:18

Linux性能測試工具

2010-06-17 15:16:22

Linux測試工具

2010-03-09 10:49:35

python簡單應(yīng)用

2010-06-10 17:37:08

Linux 性能測試工

2023-10-20 11:24:25

JMH基準(zhǔn)測試

2013-07-29 14:28:43

JQueryJQuery實(shí)現(xiàn)分頁分頁程序代碼
點(diǎn)贊
收藏

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