![]() |
|
嵌入式Linux串口應(yīng)用編程基礎(chǔ)知識(shí) |
|
常見的數(shù)據(jù)通信的基本方式可分為并行通信與串行通信兩種。 ● 并行通信是指利用多條數(shù)據(jù)傳輸線將一個(gè)字?jǐn)?shù)據(jù)的各比特位同時(shí)傳送。它的特點(diǎn)是傳輸速度快,適用于傳輸距離短且傳輸速度較高的通信。 串口是計(jì)算機(jī)一種常用的接口,常用的串口有RS-232-C接口。它是于1970年由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通信的標(biāo)準(zhǔn),它的全稱是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。該標(biāo)準(zhǔn)規(guī)定采用一個(gè)DB25芯引腳的連接器或9芯引腳的連接器,其中常用的9芯引腳的連接器如圖2.4所示。
S3C2410X內(nèi)部具有2個(gè)獨(dú)立的UART控制器,每個(gè)控制器都可以工作在Interrupt(中斷)模式或者DMA(直接存儲(chǔ)訪問)模式。同時(shí),每個(gè)UART均具有16字節(jié)的FIFO(先入先出寄存器),支持的高波特率可達(dá)到230.4Kb/s。UART的操作主要分為以下幾個(gè)部分:數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、產(chǎn)生中斷、設(shè)置波特率、Loopback模式、紅外模式及硬軟流控模式。 關(guān)于串口參數(shù)的配置,在配置超級(jí)終端和minicom時(shí)已經(jīng)接觸過(guò),一般包括波特率、起始位比特?cái)?shù)、數(shù)據(jù)位比特?cái)?shù)、停止位比特?cái)?shù)和流控模式。在此,可以將其配置為波特率115200、起始位1b、數(shù)據(jù)位8b、停止位1b和無(wú)流控模式。 在Linux中,所有的設(shè)備文件一般都位于“/dev”下,其中,串口一和串口二對(duì)應(yīng)的設(shè)備名依次為“/dev/ttyS0”和“/dev/ttyS1”,而且USB轉(zhuǎn)串口的設(shè)備名通常為“/dev/ttyUSB0”和“/dev/ttyUSB1”(因驅(qū)動(dòng)不同該設(shè)備名會(huì)有所不同),可以查看在“/dev”下的文件以確認(rèn)。在本章中已經(jīng)提到過(guò),在Linux下對(duì)設(shè)備的操作方法與對(duì)文件的操作方法是一樣的,因此,對(duì)串口的讀寫就可以使用簡(jiǎn)單的read()、write()函數(shù)來(lái)完成,所不同的只是需要對(duì)串口的其他參數(shù)另做配置,下面就來(lái)詳細(xì)講解串口應(yīng)用開發(fā)的步驟。 本文選自華清遠(yuǎn)見嵌入式培訓(xùn)教材《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)》 熱點(diǎn)鏈接:
1、Linux下多路復(fù)用I/O接口 |