新聞中心
隨著計(jì)算機(jī)技術(shù)的發(fā)展,以及家用電器的普及,越來(lái)越多的主機(jī)設(shè)備需要和計(jì)算機(jī)的接口來(lái)進(jìn)行通信,串口是一種應(yīng)用比較廣泛的通信接口。

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司與策劃設(shè)計(jì),延平網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:延平等地區(qū)。延平做網(wǎng)站價(jià)格咨詢:13518219792
linux是一款強(qiáng)大的操作系統(tǒng),它提供了一個(gè)出色的串口編程框架,其多種功能可以幫助我們實(shí)現(xiàn)對(duì)于設(shè)備的控制,串口編程是關(guān)鍵技術(shù)。在Linux下探索串口的世界,可以大大的方便命令的使用,執(zhí)行效率也并不差。
Linux下處理所有的串口通信相關(guān)的任務(wù)都可以以File descriptor方式進(jìn)行,常用的函數(shù)可以在sys/termios.h頭中找到,新建File descriptor有一系列API提供:open()函數(shù)用于文件的打開(kāi),append()用于文件的添加模式, close()用于關(guān)閉文件, read()和write()分別用于讀寫(xiě)文件, ioctl()用于控制串口相關(guān)設(shè)備,如串口的波特率、數(shù)據(jù)位等。
一段串口程序的例子:
“`c
#include
#include
#include
#include
int main(int argc, char **argv)
{
//定義變量
int fd;
//新建file descriptor,打開(kāi)串口
fd = open(” /dev/ttyS0 “,O_RDWR|O_NOCTTY|O_NDELAY);
//定義串口模型
struct termios options;
tcgetattr(fd, &options);
//設(shè)置串口波特率,無(wú)流控
cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
//關(guān)閉流控制
options.c_cflag &= ~CRTSCTS;
options.c_iflag &= ~(IXON | IXOFF | IXANY);
//設(shè)置其他選項(xiàng)
options.c_cflag &= ~CSIZE; //字節(jié)位
options.c_cflag |= CS8; //8位數(shù)據(jù)位
options.c_cflag &= ~PARENB; //無(wú)校驗(yàn)
options.c_oflag &= ~OPOST; //原始數(shù)據(jù)輸出
//設(shè)置新的termios
tcsetattr(fd, TCSANOW, &options);
//關(guān)閉文件
close(fd);
return 0;
}
上述代碼中,主要是用open()和close(),以及tcgetattr()和tcsetattr()函數(shù)用于處理串口控制,之所以使用這兩組函數(shù),是因?yàn)檫@兩組函數(shù)都可以用于處理任意類型的Termios控制結(jié)構(gòu)。
學(xué)習(xí)串口編程對(duì)于Linux系統(tǒng)的熟悉有很大的幫助,掌握它可以更好的開(kāi)發(fā)一些嵌入式系統(tǒng)程序,更多復(fù)雜的串口例子還有待我們?nèi)ネ卣购蛯?shí)踐。
總而言之,Linux下探索串口可以讓我們掌控它的能力,去發(fā)現(xiàn)世界的精彩吧!
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
本文題目:Linux下探索串口的世界(linux讀取串口)
網(wǎng)站鏈接:http://m.fisionsoft.com.cn/article/djpjcpc.html


咨詢
建站咨詢
