新聞中心
linux 串口開啟之路

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)關(guān)嶺免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Linux 是一款免費(fèi)、開放源代碼的多用戶 Unix-like 操作系統(tǒng),由于擁有良好的穩(wěn)定性和安全性,被廣泛地應(yīng)用和使用,其中包括服務(wù)器、移動(dòng)設(shè)備、智能手機(jī)等環(huán)境中。除此之外,更有許多人將其應(yīng)用于物聯(lián)網(wǎng)的環(huán)境中,其中,一定程度依賴于串口與外界的設(shè)備,以進(jìn)行數(shù)據(jù)的傳遞以及設(shè)備的控制與配置。
因此,本文就將介紹Linux中,如何打開串口的操作,讓大家能夠順利的進(jìn)行數(shù)據(jù)的讀寫訪問,從而實(shí)現(xiàn)從Linux系統(tǒng)中控制其它設(shè)備的目的。
首先,需要開發(fā)者查看Linux環(huán)境中設(shè)備節(jié)點(diǎn),例如一般串口設(shè)備,其節(jié)點(diǎn)通常是在/dev/目錄,一般像ttyUSB0,ttyUSB1等。如果該節(jié)點(diǎn)不存在,則表示沒有識(shí)別該設(shè)備,需要檢查是否接線和安裝驅(qū)動(dòng)等問題,一般推薦使用支持庫libusb和libftdi等。
其次,當(dāng)開發(fā)者確定了串口設(shè)備的存在之后,開發(fā)者可以使用open,ioctl,read和write函數(shù),來操作串口進(jìn)行數(shù)據(jù)的發(fā)送,讀取,設(shè)置和查詢等操作,例如:
一般的操作串口的方式(不包含異常處理的的部分)如下:
“`cpp
//變量fd表示ttypUSB0的存放的節(jié)點(diǎn)文件描述符
//打開節(jié)點(diǎn)
int fd = open(“/dev/ttyUSB0”, O_RDWR);
//獲取串口狀態(tài),存在status中
termios status;
ioctl(fd, TCGETS,&status);
//設(shè)置串口,波特率9600,數(shù)據(jù)位8bits,無校驗(yàn)位,停止位1,無軟件流控
status.c_lflag &= ~(ECHO & ICANON);
status.c_iflag &= ~ICRNL;
status.c_oflag &= ~OPOST;
status.c_cflag |= CREAD | CS8 | CLOCAL;
status.c_cc[VMIN] = 1;
status.c_cc[VTIME] = 0;
status.c_ispeed = 921600;
status.c_ospeed = 921600;
//設(shè)置好之后,將設(shè)置好的status寫入到節(jié)點(diǎn)文件
ioctl(fd, TCSETS, &status);
//進(jìn)行數(shù)據(jù)讀寫操作
int size = write(fd,”hello world”,11); // 發(fā)送數(shù)據(jù)
char buf[1024];
memset(buf, 0, 1024);
size = read(fd, buf, 1024); //讀取數(shù)據(jù)
//關(guān)閉節(jié)點(diǎn)文件
close(fd);
以上就是Linux系統(tǒng)下,串口怎么打開和操作的一般方式,只要熟悉linux系統(tǒng)函數(shù)后,就可以比較順利的進(jìn)行讀寫操作。另外,linux下還可以使用專業(yè)的串口程序來操作,比如pySerial,該程序封裝了操作串口的函數(shù),給用戶提供像file類似的api來操作串口,操作起來比較方便。
總結(jié)來說,Linux系統(tǒng)下,開發(fā)者要進(jìn)行串口操作,需要先確定該設(shè)備的節(jié)點(diǎn)文件,然后使用open和ioctl來打開和設(shè)置串口,最后使用read和write等函數(shù)實(shí)現(xiàn)數(shù)據(jù)的讀寫操作,從而實(shí)現(xiàn)串口的開發(fā)操作。
成都創(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ù)。
網(wǎng)站題目:Linux串口開啟之路(linux打開串口)
URL地址:http://m.fisionsoft.com.cn/article/dhgdcje.html


咨詢
建站咨詢
