av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Linux下串口編程:實現(xiàn)數(shù)據(jù)交互功能(linux下串口程序)

linux 是一款性能穩(wěn)定,安全性高的操作系統(tǒng),支持多種語言編程,其中就包括串口編程。本文將在Linux下串口編程,實現(xiàn)數(shù)據(jù)交互功能。

伊川網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

首先,我們介紹Linux下串口編程的一般思路。步驟如下:

1.打開串口設備:這一步主要是通過open()函數(shù)實現(xiàn),使用下面的代碼:

int fd = open(“/dev/ttyS0”, O_RDWR|O_NOCTTY|O_NDELAY);

if(fd == -1)

{

printf( “Open Serial Port Error!/n”);

return -1;

}

2.設置串口參數(shù):這一步是設置波特率、校驗位、數(shù)據(jù)位和停止位等參數(shù),代碼如下:

struct termios options;

tcgetattr(fd, &options);

//設置端口輸入輸出波特率

cfsetispeed(&options, B115200);

cfsetospeed(&options, B115200);

//設置數(shù)據(jù)位數(shù)

options.c_cflag &= ~CSIZE;

options.c_cflag |= CS8;

//設置校驗位

options.c_cflag &= ~PARENB;

options.c_iflag |= INPCK;

//設置停止位

options.c_cflag &= ~CSTOPB;

tcsetattr(fd, TCSANOW, &options);

3.發(fā)送和接收數(shù)據(jù):通過串口發(fā)送和接收數(shù)據(jù),可以使用原始系統(tǒng)調用write()和read(),其中write()用于發(fā)送,read()用于接收:

char send_buff[] = { xxx, xxx, … }; //待發(fā)送的數(shù)據(jù)

int len = sizeof(send_buff) / sizeof(send_buff[0]);

int ret = write(fd, send_buff, len);

if(ret

{

printf( “Write Error!/n”);

return -1;

}

char rec_buff[] = { 0 }; //存放從串口接收到的數(shù)據(jù)

ret = read(fd, rec_buff, len);

if(ret

{

printf( “Read Error!/n”);

return -1;

}

4.關閉串口:使用完畢后,最后一定要記得關閉串口,代碼如下:

close(fd);

上述就是Linux系統(tǒng)下串口編程實現(xiàn)數(shù)據(jù)交互功能的大致流程,能夠滿足大部分串口通信的需求。想要深入了解,還可以參考系統(tǒng)的C語言API文檔。

香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。


網(wǎng)站題目:Linux下串口編程:實現(xiàn)數(shù)據(jù)交互功能(linux下串口程序)
當前URL:http://uogjgqi.cn/article/cdcsdio.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流