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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux串口讀取數(shù)據(jù)技巧(串口readlinux)

隨著物聯(lián)網(wǎng)及自動控制領域愈發(fā)普及,linux 串口技術(shù)應用范圍越來越廣。下面以 Linux 環(huán)境下編程讀取串口數(shù)據(jù)為例介紹關鍵步驟。

**1. 打開串口設備**

首先在 Linux 系統(tǒng)下使用 open() 函數(shù)來打開串口設備文件,然后指定要打開的串口設備文件名。只要正確選擇了設備,將返回句柄類型的文件標識符。

#include 
#include
......
int fd;
......
fd = open("/dev/ttyS0",O_RDWR | O_NOCTTY | O_NDELAY);
if(fd == -1)
{
printf("open serial port failed!\n");
}
else
{
printf("open serial port success!\n");
}

**2. 設置串口的參數(shù)**

設置串口的參數(shù)必須通過終端控制臺來進行,主要有波特率、數(shù)據(jù)位、停止位和校驗位等4個方面。這里要使用到tcsetattr()函數(shù),用于控制終端的輸入和輸出。

#include 
......
struct termios SerialPortSettings;
......
tcgetattr(fd, &SerialPortSettings);
cfsetispeed(&SerialPortSettings,B9600);
cfsetospeed(&SerialPortSettings,B9600);
SerialPortSettings.c_cflag &= ~PARENB;
SerialPortSettings.c_cflag &= ~CSTOPB;
SerialPortSettings.c_cflag &= ~CSIZE;
SerialPortSettings.c_cflag |= CS8;
SerialPortSettings.c_cflag &= ~CRTSCTS;
SerialPortSettings.c_cflag |= CREAD | CLOCAL;
SerialPortSettings.c_iflag &= ~(IXON | IXOFF | IXANY);
SerialPortSettings.c_iflag &= ~ICRNL;
SerialPortSettings.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
SerialPortSettings.c_oflag &= ~OPOST;
SerialPortSettings.c_cc[VMIN] = 10;
SerialPortSettings.c_cc[VTIME] = 0;
tcsetattr(fd,TCSANOW,&SerialPortSettings);

**3. 讀取串口數(shù)據(jù)**

按串口格式讀取數(shù)據(jù),使用read()函數(shù),將連續(xù)的 8 位數(shù)據(jù)幀的每一位都讀取出來,用于各種自動控制的實現(xiàn)。

#include
......
int ByteRead;
unsigned char ReadBuffer[256] = {0};
......
ByteRead = read(fd, ReadBuffer ,256);
printf("Bytes Rxed %d\n", ByteRead);
for(int i=0; i
{
printf("%c\n", ReadBuffer[i]);
}

**4. 關閉串口設備**

關閉串口設備非常簡單,只要使用close函數(shù)就可以實現(xiàn)關閉操作,以釋放掉所占用的串口設備資源。

#include
......
if (close(fd) == -1)
{
printf("fail to close ttyS0\n");
}
else
{
printf("ttyS0 closed successful!\n");
}

通過以上步驟,Linux 環(huán)境下的串口讀取數(shù)據(jù)已經(jīng)實現(xiàn),可以應用在自動控制的各種應用編程中。

香港服務器選創(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串口讀取數(shù)據(jù)技巧(串口readlinux)
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/cojoccp.html