|  | |
| 嵌入式Linux串口應用編程基礎知識 | |
| 常見(jian)的數據通(tong)信的基本方式可(ke)分為(wei)并行(xing)通(tong)信與(yu)串(chuan)行(xing)通(tong)信兩(liang)種。     ● 并行通信是指利用多條數據傳輸線將一個字數據的各比特位同時傳送。它的特點是傳輸速度快,適用于傳輸距離短且傳輸速度較高的通信。 串(chuan)口(kou)是(shi)(shi)計算機一(yi)種常(chang)用(yong)的(de)接(jie)(jie)口(kou),常(chang)用(yong)的(de)串(chuan)口(kou)有RS-232-C接(jie)(jie)口(kou)。它(ta)是(shi)(shi)于1970年由美國(guo)電子工(gong)業(ye)協會(hui)(EIA)聯(lian)合貝爾系統、調制解調器(qi)(qi)廠家及計算機終端(duan)生產(chan)廠家共同制定(ding)的(de)用(yong)于串(chuan)行(xing)通信的(de)標準,它(ta)的(de)全稱是(shi)(shi)“數據(ju)終端(duan)設備(DTE)和數據(ju)通信設備(DCE)之間串(chuan)行(xing)二進(jin)制數據(ju)交換接(jie)(jie)口(kou)技術(shu)標準”。該(gai)標準規定(ding)采用(yong)一(yi)個(ge)DB25芯(xin)引腳(jiao)的(de)連接(jie)(jie)器(qi)(qi)或9芯(xin)引腳(jiao)的(de)連接(jie)(jie)器(qi)(qi),其中常(chang)用(yong)的(de)9芯(xin)引腳(jiao)的(de)連接(jie)(jie)器(qi)(qi)如圖2.4所示。 
 S3C2410X內部具有2個獨立的(de)UART控(kong)制器,每(mei)個控(kong)制器都可以工作在(zai)Interrupt(中(zhong)斷)模(mo)式(shi)或者DMA(直接(jie)(jie)存儲訪(fang)問)模(mo)式(shi)。同時(shi),每(mei)個UART均具有16字節的(de)FIFO(先(xian)入先(xian)出(chu)寄存器),支持的(de)高波特(te)率可達(da)到230.4Kb/s。UART的(de)操作主要分為以下(xia)幾個部分:數(shu)據發送、數(shu)據接(jie)(jie)收、產生中(zhong)斷、設置波特(te)率、Loopback模(mo)式(shi)、紅外模(mo)式(shi)及(ji)硬(ying)軟(ruan)流控(kong)模(mo)式(shi)。 關于串口參數(shu)(shu)的配(pei)置,在(zai)配(pei)置超級終端和minicom時已經接觸過(guo),一般包括(kuo)波(bo)特率、起(qi)始位比特數(shu)(shu)、數(shu)(shu)據(ju)位比特數(shu)(shu)、停止(zhi)位比特數(shu)(shu)和流控(kong)模式。在(zai)此,可以將其配(pei)置為(wei)波(bo)特率115200、起(qi)始位1b、數(shu)(shu)據(ju)位8b、停止(zhi)位1b和無流控(kong)模式。 在Linux中(zhong),所(suo)有(you)的(de)(de)(de)(de)設備(bei)(bei)文(wen)件(jian)一般都位于“/dev”下,其(qi)中(zhong),串(chuan)口(kou)一和(he)串(chuan)口(kou)二對(dui)應(ying)的(de)(de)(de)(de)設備(bei)(bei)名依次為(wei)“/dev/ttyS0”和(he)“/dev/ttyS1”,而且USB轉串(chuan)口(kou)的(de)(de)(de)(de)設備(bei)(bei)名通常為(wei)“/dev/ttyUSB0”和(he)“/dev/ttyUSB1”(因驅動不同該設備(bei)(bei)名會有(you)所(suo)不同),可以查(cha)看在“/dev”下的(de)(de)(de)(de)文(wen)件(jian)以確(que)認。在本章中(zhong)已(yi)經提到過,在Linux下對(dui)設備(bei)(bei)的(de)(de)(de)(de)操(cao)(cao)作方法與對(dui)文(wen)件(jian)的(de)(de)(de)(de)操(cao)(cao)作方法是一樣(yang)的(de)(de)(de)(de),因此,對(dui)串(chuan)口(kou)的(de)(de)(de)(de)讀寫(xie)就可以使用簡(jian)單(dan)的(de)(de)(de)(de)read()、write()函(han)數來(lai)完成,所(suo)不同的(de)(de)(de)(de)只是需要對(dui)串(chuan)口(kou)的(de)(de)(de)(de)其(qi)他參數另做配置(zhi),下面(mian)就來(lai)詳細講(jiang)解串(chuan)口(kou)應(ying)用開發的(de)(de)(de)(de)步(bu)驟。 本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》 熱點(dian)鏈接:       
         1、Linux下多路復用I/O接口 |