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

伊川網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司從2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
首先,我們介紹Linux下串口編程的一般思路。步驟如下:
1.打開(kāi)串口設(shè)備:這一步主要是通過(guò)open()函數(shù)實(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ù):這一步是設(shè)置波特率、校驗(yàn)位、數(shù)據(jù)位和停止位等參數(shù),代碼如下:
struct termios options;
tcgetattr(fd, &options);
//設(shè)置端口輸入輸出波特率
cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
//設(shè)置數(shù)據(jù)位數(shù)
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;
//設(shè)置校驗(yàn)位
options.c_cflag &= ~PARENB;
options.c_iflag |= INPCK;
//設(shè)置停止位
options.c_cflag &= ~CSTOPB;
tcsetattr(fd, TCSANOW, &options);
3.發(fā)送和接收數(shù)據(jù):通過(guò)串口發(fā)送和接收數(shù)據(jù),可以使用原始系統(tǒng)調(diào)用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.關(guān)閉串口:使用完畢后,最后一定要記得關(guān)閉串口,代碼如下:
close(fd);
上述就是Linux系統(tǒng)下串口編程實(shí)現(xiàn)數(shù)據(jù)交互功能的大致流程,能夠滿足大部分串口通信的需求。想要深入了解,還可以參考系統(tǒng)的C語(yǔ)言API文檔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
標(biāo)題名稱:Linux下串口編程:實(shí)現(xiàn)數(shù)據(jù)交互功能(linux下串口程序)
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/cdcsdio.html


咨詢
建站咨詢
