成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

Linux串口測試工具網(wǎng)上常見的版本都看起來比較煩瑣,下面是一個(gè)簡單一點(diǎn)的,這個(gè)程序功能是收到10個(gè)字節(jié)后會發(fā)前7個(gè)字節(jié),如果所發(fā)的數(shù)據(jù)的第一個(gè)字節(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ā)送,此時(shí)串口應(yīng)該為非正規(guī)模式才行。

下面是這兩種模式的說明
Linux串口測試工具正規(guī)模式(CANONICAL或者COOKED)
此模式下,終端設(shè)備會處理特殊字符,并且數(shù)據(jù)傳輸是一次一行的方式,既按回車后才開始發(fā)送和接收數(shù)據(jù)。例如LINUX的SHELL。
Linux串口測試工具非正規(guī)模式(NON-CANONICAL或者RAW)
此模式下,終端設(shè)備不會處理特殊字符,并且數(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
相關(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-07 14:42:47

Linux性能測試工具

2010-06-04 16:07:09

Linux 性能測試工

2022-01-24 16:55:09

LinuxTCP工具

2024-03-06 18:09:06

Linux性能工具

2009-06-26 10:22:58

JSF測試

2011-05-31 18:09:05

動態(tài)測試

2015-06-25 10:14:01

Code Climat 代碼測試工具

2010-06-11 11:20:18

Linux性能測試工具

2010-07-17 00:55:48

PHP Telnet

2010-03-09 10:49:35

python簡單應(yīng)用

2010-06-17 15:16:22

Linux測試工具

2023-10-20 11:24:25

JMH基準(zhǔn)測試

2010-06-10 17:37:08

Linux 性能測試工

2011-11-09 13:59:27

代碼腐爛
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 成人午夜激情 | 亚洲精品一 | 99久久精品国产一区二区三区 | 国产探花在线精品一区二区 | 精品欧美色视频网站在线观看 | 国产在线观看av | 色五月激情五月 | 精品亚洲永久免费精品 | 免费视频久久 | 97超碰人人草 | 国产精品免费视频一区 | 91观看 | 国产aaaaav久久久一区二区 | 91麻豆精品国产91久久久久久 | 久久一级 | 欧美亚洲激情 | 欧洲亚洲视频 | 色偷偷888欧美精品久久久 | 日韩电影免费在线观看中文字幕 | 国产三级网站 | 成人二区三区 | 亚洲视频欧美视频 | 色综合色综合色综合 | 九九一级片 | 性高湖久久久久久久久aaaaa | 欧美视频福利 | 久久久久无码国产精品一区 | 91视频88av | 亚洲欧美视频 | h片在线看 | 欧美一区二区在线播放 | 亚洲欧美中文日韩在线v日本 | 精品三级| 高清18麻豆 | 欧美视频日韩 | 人人九九精 | 欧美精品久久久久久 | 欧美午夜精品 | 日本午夜精品一区二区三区 | 这里只有精品999 | 草草影院ccyy |