新聞中心
uart,即串行通信,是計(jì)算機(jī)通信中最常用的一種通信方式,能夠?qū)蓚€(gè)設(shè)備之間的信息快速傳輸,是橋梁設(shè)備到計(jì)算機(jī)的關(guān)鍵性組件。

為海寧等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及海寧網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、海寧網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
linux上的UART(Universal Asynchronous Receiver Transmitter)接口可以使硬件得以連接到計(jì)算機(jī)系統(tǒng)中,以實(shí)現(xiàn)信息的輸入輸出功能。在Linux系統(tǒng)中,UART可以提供多種功能,包括同步及異步數(shù)據(jù)傳輸,RS-232/RS-485/RS-422網(wǎng)絡(luò)通信,以及硬件監(jiān)控等。
要在Linux系統(tǒng)中使用UART,首先要配置相關(guān)的設(shè)備才能啟動(dòng)UART功能。Linux操作系統(tǒng)要求先加載”8250″驅(qū)動(dòng)程序,以提供UART串行接口的功能支持。其次,用戶(hù)還需要在系統(tǒng)中安裝硬件對(duì)UART的驅(qū)動(dòng)程序。最后,用戶(hù)根據(jù)所使用的設(shè)備,設(shè)置相應(yīng)的串行參數(shù),如波特率,數(shù)據(jù)位,停止位等。
使用Linux系統(tǒng)作為UART接口的例子如下,下面的程序可以用來(lái)實(shí)現(xiàn)Linux上UART通信:
#include
#include
#include
#include
#include
#define BAUDRATE B9600 /* Change as needed, keep B */
#define MODEMDEVICE "/dev/ttyO1" /* Change to ttyUSB0 to work with USB-to-serial */
#define _POSIX_SOURCE 1 /* POSIX compliant source */
int main()
{
int file;
struct termios oldtio,newtio;
if ( (file=open(MODEMDEVICE, O_RDWR))
perror(MODEMDEVICE);
exit(-1);
}
if ( tcgetattr(file,&oldtio) == -1) { /* save current port settings */
perror("tcgetattr");
exit(-1);
}
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD;
/* set input mode (non-canonical, no echo,...) */
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0; /* noncanonical read timeout */
newtio.c_cc[VMIN] = 5; /* noncanonical read minimum characters */
/ flush ioctl call */
tcflush(file, TCIOFLUSH);
if ( tcsetattr(file,TCSANOW,&newtio) == -1) {
perror("tcsetattr");
exit(-1);
}
// do your stuff here
char buf[255];
int n = read(file,buf,255);
/* If you want to write data, use the following line */
//int n = write(file,"data\n",6);
/* restore the old port settings */
tcsetattr(file,TCSANOW,&oldtio);
return 0;
}
以上是實(shí)現(xiàn)Linux上UART的相關(guān)示例代碼,可以幫助用戶(hù)快速實(shí)現(xiàn)UART的功能,將用戶(hù)的設(shè)備與系統(tǒng)中的軟件連接起來(lái)。這樣可以使用戶(hù)在Linux系統(tǒng)中更方便地使用UART,從而實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)內(nèi)部或者外部設(shè)備之間有效的通信。
成都網(wǎng)站營(yíng)銷(xiāo)推廣找創(chuàng)新互聯(lián),全國(guó)分站站群網(wǎng)站搭建更好做SEO營(yíng)銷(xiāo)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽(yáng)服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽(yáng)服務(wù)器機(jī)房服務(wù)器托管租用。
網(wǎng)站標(biāo)題:Linux上UART通信的實(shí)現(xiàn)(uartlinux)
路徑分享:http://fisionsoft.com.cn/article/cdscjhs.html


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