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

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LinuxC語言開發(fā)串口通信應(yīng)用程序(linuxc串口通信)

linux C語言開發(fā)串口通信應(yīng)用程序

串口通信(Serial port communication)乃是Linux平臺(tái)上最常見的一種通信接口,能實(shí)現(xiàn)另一臺(tái)計(jì)算機(jī)、外圍設(shè)備等的通訊。本文以Linux操作系統(tǒng)作為示例,利用C語言來開發(fā)其串口通信應(yīng)用。

首先,要把串口連接到Linux系統(tǒng)中,可以使用open()函數(shù)來將串口打開,示例代碼如下:

“`c

int fd;

/**

* O_RDWR 可讀寫模式

* O_NOCTTY 如果不是終端設(shè)備則忽略控制終端的請(qǐng)求

* O_NDELAY 如果沒有數(shù)據(jù)立即返回

*/

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

if(fd == -1)

{

perror(“open ttyS0 is failed\n”);

exit(1);

}


其次,要想讓串口正常運(yùn)轉(zhuǎn),必須進(jìn)行串口參數(shù)的設(shè)置,如波特率、校驗(yàn)位等,示例代碼如下:

```c
//設(shè)置串口號(hào)
struct termios uart_config;

//設(shè)置串口參數(shù):
/**
*tcgetattr() 用來----獲取與終端相關(guān)的參數(shù).
*tcsetattr() 用來----設(shè)置終端參數(shù).
*參數(shù) have數(shù)據(jù),want 也是數(shù)據(jù),如果 have 不等于 want,立刻改變
*/
tcgetattr(fd,&uart_config);

cfsetispeed(&uart_config,B115200);//設(shè)置接收字符的波特率
cfsetospeed(&uart_config,B115200);//設(shè)置發(fā)送字符的波特率
uart_config.c_cflag |=CLOCAL|CREAD; //忽略 Modem 控制線 CREN:使能接收

/*
*設(shè)置數(shù)據(jù)位:
*CS8--8個(gè)數(shù)據(jù)位,即 8-bits,一個(gè)字節(jié)
*CS7--7個(gè)數(shù)據(jù)位,即 7-bits
*CS6--6個(gè)數(shù)據(jù)位,即 6-bits
*/
uart_config.c_cflag&=~CSIZE;
uart_config.c_cflag|=CS8;
uart_config.c_cflag&=~CRTSCTS;//關(guān)閉硬件流控
uart_config.c_iflag|=IGNPAR;//忽略接收到的奇偶校驗(yàn)出錯(cuò)
tcsetattr(fd,TCSANOW,&uart_config);

最后,就是利用read()以及write()函數(shù)來讀取以及發(fā)送數(shù)據(jù),示例代碼如下:

“`c

//發(fā)送字符

char send_buf[2] = {0};

send_buf[0] = 0x01;

write(fd,send_buf,1);

//接收字符

char recv_buf[2] = {0};

read(fd,&recv_buf,1);


以上就是Linux下C語言開發(fā)串口通信應(yīng)用程序的步驟,此外,還可以添加close()函數(shù)來關(guān)閉打開的串口,如下:

```c
close(fd);

總之,Linux C語言能夠很好地支持串口通信,只需要把步驟按順序執(zhí)行,就可以開發(fā)出能夠?qū)崿F(xiàn)串口功能的應(yīng)用程序。

成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


文章題目:LinuxC語言開發(fā)串口通信應(yīng)用程序(linuxc串口通信)
網(wǎng)頁地址:http://www.5511xx.com/article/dhcoohs.html