日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間: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平臺上最常見的一種通信接口,能實現(xiàn)另一臺計算機(jī)、外圍設(shè)備等的通訊。本文以Linux操作系統(tǒng)作為示例,利用C語言來開發(fā)其串口通信應(yīng)用。

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

“`c

int fd;

/**

* O_RDWR 可讀寫模式

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

* 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è)置,如波特率、校驗位等,示例代碼如下:

```c
//設(shè)置串口號
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個數(shù)據(jù)位,即 8-bits,一個字節(jié)
*CS7--7個數(shù)據(jù)位,即 7-bits
*CS6--6個數(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;//忽略接收到的奇偶校驗出錯
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)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


分享名稱:LinuxC語言開發(fā)串口通信應(yīng)用程序(linuxc串口通信)
網(wǎng)頁網(wǎng)址:http://www.dlmjj.cn/article/dhcoohs.html