日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
Linux下串口編程:實現數據交互功能(linux下串口程序)

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

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

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

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

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

if(fd == -1)

{

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

return -1;

}

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

struct termios options;

tcgetattr(fd, &options);

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

cfsetispeed(&options, B115200);

cfsetospeed(&options, B115200);

//設置數據位數

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ā)送和接收數據:通過串口發(fā)送和接收數據,可以使用原始系統(tǒng)調用write()和read(),其中write()用于發(fā)送,read()用于接收:

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

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 }; //存放從串口接收到的數據

ret = read(fd, rec_buff, len);

if(ret

{

printf( “Read Error!/n”);

return -1;

}

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

close(fd);

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

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


分享文章:Linux下串口編程:實現數據交互功能(linux下串口程序)
轉載來源:http://m.5511xx.com/article/cdcsdio.html