新聞中心
linux 串口開(kāi)啟之路

專(zhuān)注于為中小企業(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è)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Linux 是一款免費(fèi)、開(kāi)放源代碼的多用戶(hù) Unix-like 操作系統(tǒng),由于擁有良好的穩(wěn)定性和安全性,被廣泛地應(yīng)用和使用,其中包括服務(wù)器、移動(dòng)設(shè)備、智能手機(jī)等環(huán)境中。除此之外,更有許多人將其應(yīng)用于物聯(lián)網(wǎng)的環(huán)境中,其中,一定程度依賴(lài)于串口與外界的設(shè)備,以進(jìn)行數(shù)據(jù)的傳遞以及設(shè)備的控制與配置。
因此,本文就將介紹Linux中,如何打開(kāi)串口的操作,讓大家能夠順利的進(jìn)行數(shù)據(jù)的讀寫(xiě)訪(fǎng)問(wèn),從而實(shí)現(xiàn)從Linux系統(tǒng)中控制其它設(shè)備的目的。
首先,需要開(kāi)發(fā)者查看Linux環(huán)境中設(shè)備節(jié)點(diǎn),例如一般串口設(shè)備,其節(jié)點(diǎn)通常是在/dev/目錄,一般像ttyUSB0,ttyUSB1等。如果該節(jié)點(diǎn)不存在,則表示沒(méi)有識(shí)別該設(shè)備,需要檢查是否接線(xiàn)和安裝驅(qū)動(dòng)等問(wèn)題,一般推薦使用支持庫(kù)libusb和libftdi等。
其次,當(dāng)開(kāi)發(fā)者確定了串口設(shè)備的存在之后,開(kāi)發(fā)者可以使用open,ioctl,read和write函數(shù),來(lái)操作串口進(jìn)行數(shù)據(jù)的發(fā)送,讀取,設(shè)置和查詢(xún)等操作,例如:
一般的操作串口的方式(不包含異常處理的的部分)如下:
“`cpp
//變量fd表示ttypUSB0的存放的節(jié)點(diǎn)文件描述符
//打開(kāi)節(jié)點(diǎn)
int fd = open(“/dev/ttyUSB0”, O_RDWR);
//獲取串口狀態(tài),存在status中
termios status;
ioctl(fd, TCGETS,&status);
//設(shè)置串口,波特率9600,數(shù)據(jù)位8bits,無(wú)校驗(yàn)位,停止位1,無(wú)軟件流控
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寫(xiě)入到節(jié)點(diǎn)文件
ioctl(fd, TCSETS, &status);
//進(jìn)行數(shù)據(jù)讀寫(xiě)操作
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)下,串口怎么打開(kāi)和操作的一般方式,只要熟悉linux系統(tǒng)函數(shù)后,就可以比較順利的進(jìn)行讀寫(xiě)操作。另外,linux下還可以使用專(zhuān)業(yè)的串口程序來(lái)操作,比如pySerial,該程序封裝了操作串口的函數(shù),給用戶(hù)提供像file類(lèi)似的api來(lái)操作串口,操作起來(lái)比較方便。
總結(jié)來(lái)說(shuō),Linux系統(tǒng)下,開(kāi)發(fā)者要進(jìn)行串口操作,需要先確定該設(shè)備的節(jié)點(diǎn)文件,然后使用open和ioctl來(lái)打開(kāi)和設(shè)置串口,最后使用read和write等函數(shù)實(shí)現(xiàn)數(shù)據(jù)的讀寫(xiě)操作,從而實(shí)現(xiàn)串口的開(kāi)發(fā)操作。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(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)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。
網(wǎng)站題目:Linux串口開(kāi)啟之路(linux打開(kāi)串口)
URL分享:http://www.5511xx.com/article/dhgdcje.html


咨詢(xún)
建站咨詢(xún)
