www夜片内射视频日韩精品成人_男人添女人下面高潮视频_57pao国产成永久免费视频_亚洲欧美激情国产综合久久久_亚洲国产成人精品综合99_搡的我好爽在线观看免费视频_波多野结衣大片_亚洲产国偷v产偷v自拍涩爱_精品国精品国产自在久不卡_色av性av丰满av

首頁 > 職業資格  > 

Linux操作系統下串口設置及編程

2023-01-26   來源:萬能知識網

Linux操作系統下串口設置及編程


(相關資料圖)

用戶常見的數據通信的基本方式可分為并行通信和串行通信。

并行通信是指利用多條數據傳輸線將一個資料的各位同時傳送。特點是傳輸速度快,適用于短距離通信,但要求傳輸速度較高的應用場合。

串行通信是指利用一條傳輸線將資料一位位的順序傳送。特點是通信線路簡單,利用簡單的線纜就可以實現通信,減低成本,適用于遠距離通信,但傳輸速度慢的應用場合。常用的串口有RS-232-C接口(全稱是“數據終端設備(DTE)和數據通訊設備(DCE)之間串行二進制數據交換接口技術標準”)。

UART控制器:可以工作在Interrupt(中斷)模式或者DMA(直接內存訪問)模式。據有16字節的FIFO(先入先出寄存器),支持最高波特率可達到230.4Kbps。

UART操作:資料發送、資料接收、產生中斷、產生波特率、Loopback模式、紅外模式及自動流控制模式。

串口設置包括:波特率、起始位數量、數據位數量、停止位數量和流控協議。在此可以配置波特率為115200、起始位為1b、數據位8b、停止位1b和無流控制協議。

串口一、串口二對應設備名依次是“/dev/ttyS0”、“/dev/ttyS1”。

在Linux下對串口的讀寫可以使用簡單的“read”、“write”函數完成,不同的是需要對串口的其它參數另作設置。

6.4.2 串口設置詳情

串口設置主要是設置struct termios結構體成員值:

#include

Struct termio

{

unsigned short c_iflag; /*輸入模式標志*/

unsigned short c_oflag; /*輸出模式標志*/

unsigned short c_cflag; /*控制模式標志*/

unsigned short c_lfag; /*本地模式標志*/

unsigned short c_line; /*line discipline*/

unsigned short c_cc[NCC]; /*control characters*/

};

通過對c_cflag的賦值,可以設置波特率、字符大小、數據位、停止位、奇偶校驗位和硬件流控等。

設置串口屬性基本流程:

1. 保存原先串口配置

為了安全起見和以后調試程序方便,可先保存原先串口的配置,使用函數tcgetattr(fd,&oldtio)。該函數得到與fd指向對象的相關參數,并將它們保存于lodtio引用的termios結構中。該函數可以測試配置是否正確、該串口是否可用等。調試成功,函數返回0,失敗,函數返回-1.

if(tcgetattr(fd,&oldtio)!=0)

{

perror(“SetupSerial 1”);

return -1;

}

2. 激活選項有CLOCAL和CREAD

CLOCAL和CREAD分別用于本地連接和接受使能,通過位掩碼的方式激活這兩個選項。

Newtio.c_cflag |= CLOCAL | CREAD;

3. 設置波特率

設置波特率的函數主要有cfsetispeed和cfsetospeed。

cfsetispeed(&newtio,B115200);

cfsetospeed(&newtio,B115200);

一般地用戶需要將輸入輸出函數的波特率設置成一樣的。這幾個函數在成功時返回0,失敗-1。

4. 設置字符大小

沒有現成可用函數,需要位掩碼。一般先去除數據位中的位掩碼,再重新按要求設置。

options.c_cflag &= ~CSIZE; /*mask the character size bits*/

options.c_cflag |= CS8;

5. 設置奇偶校驗位

先激活c_cflag中的校驗位使能標志PARENB和是否要進行偶校驗,同時還要激活c_iflag中的奇偶校驗使能。如使能奇校驗時,代碼如下:

newtio.c_cflag |= PARENB;

newtio.c_cflag |=PARODD;

newtio.c_iflag |= (INPCK | ISTRIP);

而使能偶校驗代碼為:

newtio.c_iflag |= (INPCK | ISTRIP);

newtio.c_cflag |= PARENB;

newtio.c_cflag &= ~PAROOD;

6. 設置停止位

通過激活c_cflag中的CSTOPB而實現的。若停止位為1,則清除CSTOPB,若停止位為0,則激活CSTOPB。下面是停止位為1時的代碼:

newtio.c_cflag &= ~CSTOPB;

7. 設置最少字符和等待時間

在對接收字符和等待時間沒有特別要求的.情況下,可以將其設置為0:

newtio.c_cc[VTIME] =0;

newtio.c_cc[VMIN]=0;

8. 處理要寫入的引用對象

在串口重新設置之后,在之前要寫入的引用對象要重新處理,可調用函數tcflush(fd,queue_selector)來處理要寫入引用的對象。對于為傳輸的數據,或收到但未讀取的數據,其處理方法取決于queue_selector的值。

Queue_selector可能取值:

TCIFLUSH:刷新收到的數據但不讀

TCOFLUSH:刷新寫入的數據但不傳送

TCIOLFLUSH:同時刷新收到的數據但不讀,并且刷新寫入的數據但不傳送

本例采用一:

tcflush(fd, TCIFLUSH)

9. 激活配置

用到函數tcsetattr:

函數原型:tcsetattr(fd,OPTION,&newtio);

這里的newtio就是termios類型的變量,OPTION可能的取值如下:

TCSANOW:改變的配置立即生效

TCSADRAIN:改變的配置在所有寫入fd的輸出都結束后生效

TCSAFLUSH:改變的配置自愛所有寫入fd引用對象的輸出都被結束后生效,所有已接受但為讀入的輸入都在改變發生前丟棄。

該函數調用成功返回0,失敗-1.

if((tcsetattr(fd,TCSANOW,&newtio))!=0)

{

perror(“com set error”);

return -1;

}

/*串口配置的完整函數,為了函數的通用性,通常將常用的選項都在函數中列出,可大大方便以后用戶的調試使用

*/ int set_opt(int fd,int nSpeed,int nBits,char nEvent,int nStop) { struct termios newtio,oldtio; /*

保存測試現有串口參數設置,在這里如果串口號等出錯,會有相關的出錯信息

*/ if(tcgetattr(fd,&oldtio)!=0) { perror(“SetupSerial 1”);

return -1; } bzero(&newtio,sizeof(newtio)); /*

步驟一,設置字符大小

*/ newtio.c_cflag |= CLOCAL | CREAD;

newtio.c_cflag &= ~CSIZE; /*

設置停止位

*/ switch(nBits) { case 7:

newtio.c_cflag |=CS7;

break; case 8:

newtio.c_cflag |=CS8;

break; } /*

設置奇偶校驗位

*/ switch(nEvent) { case ‘O‘://奇數

newtio.c_cflag |= PARENB; newtio.c_cflag |=PARODD;

newtio.c_iflag |= (INPCK | ISTRIP); break; case ‘E‘://偶數

newtio.c_iflag |= (INPCK | ISTRIP); newtio.c_cflag |= PARENB;

newtio.c_cflag &= ~PARODD; case ‘N‘://無奇偶校驗位 newtio.c_cflag &= ~PARENB; break; } /*

設置波特率

*/ switch(nSpeed) { case 2400:

cfsetispeed(&newtio,B2400);

cfsetospeed(&newtio,B2400);

break; case 4800:

cfsetispeed(&newtio,B4800);

cfsetospeed(&newtio,B4800);

break; case 9600:

cfsetispeed(&newtio,B9600);

cfsetospeed(&newtio,B9600);

break; case 115200:

cfsetispeed(&newtio,B115200);

cfsetospeed(&newtio,B115200);

break; case 460800:

cfsetispeed(&newtio,B460800);

cfsetospeed(&newtio,B460800);

break; default:

cfsetispeed(&newtio,B9600);

cfsetospeed(&newtio,B9600);

break; } /*

設置停止位*/ if(nStop==1)

newtio.c_cflag &= ~CSTOPB; else if(nStop==2)

newtio.c_cflag |= CSTOPB; /*

設置等待時間和最小接收字符

*/ newtio.c_cc[VTIME] =0; newtio.c_cc[VMIN]=0; /*

處理未接受字符

*/ tcflush(fd, TCIFLUSH); /*

激活新配置

*/ if((tcsetattr(fd,TCSANOW,&newtio))!=0)

{

perror(“com set error”);

return -1;

}

printf("set done!n");

return 0;

}

詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。

推薦詞條

手机在线看福利| 美女爆乳18禁www久久久久久| 欧美一级xxxx| 亚洲精品一区二区三区影院忠贞| 实拍女处破www免费看| 99免费在线视频| 香蕉成人在线视频| 伊人精品在线视频| 成人在线免费在线观看| 韩国三级在线看| 少妇人妻精品一区二区三区| 在线免费视频一区| 人妻妺妺窝人体色www聚色窝| 国产精品视频中文字幕| 久久久久久成人网| 99精品在线视频观看| 日本特黄a级片| 少妇久久久久久久久久| 国产伦理片在线观看| 亚洲欧美高清在线| 97超碰人人模人人人爽人人爱| 69国产精品视频免费观看| 精品视频在线观看免费| 中文字幕第22页| 天天操天天爽天天射| 久久婷婷五月综合色国产香蕉| 亚洲精品77777| 欧美激情亚洲天堂| 在线观看你懂的视频| 成年免费在线观看| 99在线免费视频观看| 在线精品一区二区三区| 欧美激情一区二区三区免费观看 | 中文字幕一区二区三区精品 | 亚洲成人第一区| 欧美成人精品欧美一级私黄| 婷婷视频在线播放| 韩国三级在线看| 久久久精品毛片| 天天操天天爱天天爽| 国产美女福利视频| 亚洲成人激情小说| 高潮毛片又色又爽免费| 亚洲77777| 四虎影视一区二区| 亚洲欧美综合在线观看| 手机在线看片1024| 国产性生交xxxxx免费| 免费在线观看黄色小视频| 国产精品熟女一区二区不卡| 无码人妻一区二区三区免费| 簧片在线免费看| 9.1人成人免费视频网站| av电影中文字幕| 91九色蝌蚪91por成人| 日本熟妇人妻中出| 欧美三级免费看| 中文字幕在线观看第二页| 精品人妻午夜一区二区三区四区| 日本黄色免费视频| 9.1成人看片| 极品尤物一区二区| 欧美视频第一区| 中文字幕乱码av| 国产有码在线观看| 一区二区三区免费高清视频| 自拍日韩亚洲一区在线| 亚洲天堂av免费在线观看| 白丝女仆被免费网站| 婷婷视频在线观看| 国产视频第一页| 日本视频免费观看| 久久精品国产亚洲av麻豆色欲| 韩国中文字幕av| 国产精品999视频| 艳母动漫在线看| 黄色国产在线播放| 亚洲国产欧美视频| 精品国产免费久久久久久婷婷| 国产美女www爽爽爽视频| 69视频免费看| 亚洲天堂一区在线观看| 久久久久亚洲av成人片| 午夜一区二区视频| 中文字幕国产传媒| 成人黄色片视频| 日韩a∨精品日韩在线观看| 国风产精品一区二区| 国产在线观看免费视频软件| 亚洲精品国产91| 变态另类丨国产精品| 久久精品无码专区| wwwxxxx在线观看| 无码国产精品一区二区色情男同 | 一级一级黄色片| 51国产偷自视频区视频| 精品少妇久久久久久888优播| 区一区二在线观看| 免费看黄色三级| 在线永久看片免费的视频| 国产精品无码网站| 国产视频1区2区3区| 国产 日韩 欧美 精品| 少妇一晚三次一区二区三区| 波多野结衣啪啪| 午夜精品福利在线视频| 免费观看黄色大片| 啪啪一区二区三区| 亚洲熟女毛茸茸| 四虎永久免费地址| 天天操夜夜操av| 校园春色 亚洲| 黄色高清视频网站| 成人手机在线播放| 国产激情片在线观看| 人妻无码一区二区三区四区| 日本一级黄视频| 精品成在人线av无码免费看| 欧美高清中文字幕| www.av毛片| 日韩精品视频一区二区在线观看| 国产精品久久中文字幕| 中文字幕日本最新乱码视频| 国产裸体舞一区二区三区| 日韩黄色片视频| 午夜免费一区二区| 三级性生活视频| 欧美精品一级片| 日本一区二区免费在线观看| 欧美一区二区激情视频| 懂色av蜜臀av粉嫩av喷吹| 中文字幕视频二区| www.com在线观看| 三级小视频在线观看| 中文字幕av一区二区三区人妻少妇| 日韩高清一二三区| 波多野结衣一本| 国产91在线播放九色| 婷婷视频在线播放| 欧美综合在线播放| 最新中文字幕免费视频| 亚洲一区二区图片| 黄色a级片在线观看| 国产无遮挡又黄又爽又色视频| 国产精品乱码久久久久| mm131丰满少妇人体欣赏图| 日韩 欧美 中文| 欧美精品久久久久久久久久久| 日批视频在线看| 久久久久久久久久久久久av| 国产a级黄色大片| www.99re6| 国产精品一区二区人妻喷水| 国产成人精品无码免费看夜聊软件| 影音先锋男人资源在线观看| 欧美一级免费在线观看| 大陆极品少妇内射aaaaa| 高清一区二区视频| 久久免费在线观看视频| 波多野结衣一本一道| 成 人 黄 色 片 在线播放| 亚洲国产日韩在线一区| 日韩丰满少妇无码内射| 干日本少妇视频| 日韩欧美黄色大片| 久一视频在线观看| 91福利免费视频| 麻豆tv在线观看| 亚洲精品成人av久久| 日本福利视频在线观看| 中文字幕第36页| 久久久久久91亚洲精品中文字幕| 国产黄色片网站| 最近日本中文字幕| 永久免费在线看片视频| 国产精品无码一本二本三本色| 欧美极品aaaaabbbbb| 中文字幕免费观看视频| 伊人影院在线观看视频| 成人无码精品1区2区3区免费看 | 香蕉视频久久久| 免费高清一区二区三区| 亚洲怡红院在线| 怡春院在线视频| 91九色蝌蚪porny| 午夜国产福利一区二区| 男女男精品视频网站| 高潮一区二区三区乱码| 在线观看免费av片| 色戒在线免费观看| 穿情趣内衣被c到高潮视频| 亚洲一区二区三区无码久久| 99久久精品无免国产免费| 午夜影院在线看| 黄色一级片免费的| 成人观看免费完整观看| 亚洲爱爱综合网| 性高潮久久久久久久久久| a级黄色免费视频| 国产乱子伦农村叉叉叉| 久久久久久久久99| 国产免费一区二区三区最新不卡| 在线观看国产免费视频| 欧美日韩在线免费观看视频| 色一情一乱一伦一区二区三区日本| 色播视频在线播放| 午夜美女福利视频| 免费一级特黄3大片视频| 久久久久久免费看| 久久精品国产av一区二区三区| 亚洲天堂久久久久| 亚洲一区二区三区四区av| 国产av无码专区亚洲av毛网站| 在线免费视频a| 91国偷自产中文字幕久久| 岛国精品资源网站| 欧美性猛交内射兽交老熟妇| 青娱乐免费在线视频| 超碰在线人人干| 天天摸日日摸狠狠添| avav在线看| 麻豆成人免费视频| 在线免费观看污视频| 黄色特一级视频| 麻豆一区产品精品蜜桃的特点| 亚洲精品久久久久久久久久| 亚洲色图第四色| 日日摸天天爽天天爽视频| 亚洲av无码精品一区二区| 加勒比精品视频| 国产免费黄色小视频| 国产成人在线播放视频| 亚洲 自拍 另类 欧美 丝袜| 9色porny| 久久久久99精品成人片我成大片| 成人一区二区三区仙踪林| 日韩欧美一级在线| 岛国大片在线免费观看| 亚洲av无码专区在线| 99热超碰在线| 超薄肉色丝袜一二三| 国产精品300页| www.xx日本| 911国产在线| 免费看一级黄色| 男人天堂成人网| 欧美午夜小视频| 狠狠操精品视频| 韩国一级黄色录像| 丰满少妇在线观看| 一区二区三区精| 我不卡一区二区| 欧美国产日韩在线视频| 国产激情久久久久久熟女老人av| 欧美激情精品久久久久久免费| 中文字幕22页| 国模大尺度视频| 亚洲理论电影在线观看| 免费av中文字幕| 中文字幕在线观看的网站| 欧美日韩亚洲一二三| 国产精品一区二区免费视频| 日本激情视频一区二区三区| 免费一级特黄特色大片| 在线观看欧美一区二区| 免费av手机在线观看| 中文字幕欧美人妻精品一区蜜臀| 一级免费黄色录像| 亚洲精品在线观看av| 日本国产在线视频| 亚洲 中文字幕 日韩 无码| 国内老熟妇对白xxxxhd| 熟妇熟女乱妇乱女网站| 51国产偷自视频区视频| 久久一级免费视频| 国产在线观看免费视频今夜| 亚洲啪av永久无码精品放毛片| 久久这里只有精品8| 91精品在线视频观看| 国产又黄又爽又无遮挡| 黑人一级大毛片| 久草手机视频在线观看| 日本一二三区视频| 国产精品久久久久无码av色戒| 潘金莲激情呻吟欲求不满视频| 人妻换人妻a片爽麻豆| 992kp快乐看片永久免费网址| 日本精品999| www日韩在线观看| 天堂网在线播放| 国产真人做爰毛片视频直播| 亚洲精品国产suv一区| 色屁屁草草影院ccyy.com| 国产玉足脚交久久欧美| 一级黄色a视频| av女名字大全列表| 一级久久久久久久| 日韩精品一区二区三区电影| 青草视频在线观看视频| 国产剧情精品在线| 亚洲欧美综合7777色婷婷| 精品一区在线视频| 人妻少妇一区二区| 在线视频观看一区二区| 日本黄色片在线播放| 成年人网站av| 人妻激情偷乱频一区二区三区| 亚洲精品免费一区亚洲精品免费精品一区| 伊人av在线播放| 99热这里只有精品在线播放| 加勒比精品视频| 欧美黑人精品一区二区不卡| 国产av自拍一区| 国产高清中文字幕| 精品国产欧美日韩不卡在线观看| 国产成人a v| 欧美 日韩 国产 在线观看| av免费观看在线| 国产精品97在线| 人妻体体内射精一区二区| 欧美成人aaa片一区国产精品| 午夜精产品一区二区在线观看的| 无码一区二区三区| 免费高清一区二区三区| 农村少妇久久久久久久| 亚洲一区精品视频在线观看| 永久免费看mv网站入口78| 手机在线看片1024| r级无码视频在线观看| 后入内射欧美99二区视频| 做a视频在线观看| 高清中文字幕mv的电影| 日韩 欧美 精品| 粉嫩av一区二区三区天美传媒| 国产免费黄色片| 亚洲三级视频网站| 天天干视频在线观看| 精国产品一区二区三区a片| 精品人妻伦九区久久aaa片| 国产乱码久久久| the porn av| 中国1级黄色片| 国产又粗又猛又黄又爽| 亚洲老女人av| av直播在线观看| 一级特黄免费视频| 黄色a级片免费| mm131美女视频| 一级α片免费看刺激高潮视频| 亚洲人成色77777| 30一40一50老女人毛片| 亚洲视频在线免费播放| 女性裸体视频网站| 高h调教冰块play男男双性文| 久久久www成人免费毛片| 成人高潮免费视频| 特黄aaaaaaaaa真人毛片| 日本系列第一页| 国内少妇毛片视频| 久久国产精品无码一级毛片| 曰批又黄又爽免费视频| 九九视频精品在线观看| 乱老熟女一区二区三区| 国产剧情久久久| 在线观看免费av网址| 在线观看成人免费| 五月婷婷久久久| 一二三区免费视频| 黄免费在线观看| 女人扒开腿免费视频app| 欲求不满的岳中文字幕| 天天干在线播放| 男人揉女人奶房视频60分| 国产精品成人在线视频| 不卡视频在线播放| 久久久久久久久久99| 日韩在线观看a| 波多野结衣办公室33分钟| 国产精品羞羞答答在线| 欧美视频国产视频| 国产成年人在线观看| 亚洲一区二区乱码| 91成品人影院| 麻豆一区二区三区精品视频| 欧美日韩成人免费视频| 国产精成人品免费观看| 色一情一乱一区二区三区| 久久久久女人精品毛片九一 | 免费一级suv好看的国产网站| 亚洲精品视频网| 亚洲 欧美 中文字幕| 精品一区二区中文字幕| 女同久久另类69精品国产| 人妻换人妻仑乱| 精品一区二区三区四| 激情六月丁香婷婷| 日韩第一页在线观看| 色综合久久五月| 在线观看国产精品入口男同| 在线一区二区不卡|