|  | |
| 嵌入式Linux串口編程基礎 | |
| 常見(jian)的數據通信(xin)(xin)的基本方式可分為并行通信(xin)(xin)與串行通信(xin)(xin)兩種(zhong)。 ·并行通(tong)信(xin)是(shi)指利(li)用(yong)多條數據傳輸(shu)線將一(yi)個字(zi)數據的各(ge)比特位(wei)同時傳送(song)。它的特點是(shi)傳輸(shu)速度(du)快,適用(yong)于傳輸(shu)距(ju)離短且傳輸(shu)速度(du)較(jiao)高的通(tong)信(xin)。 ·串(chuan)行通信(xin)是(shi)指利(li)用(yong)一條傳輸線(xian)將數據以比特位(wei)為(wei)單(dan)位(wei)順(shun)序傳送。特點是(shi)通信(xin)線(xian)路簡單(dan),利(li)用(yong)簡單(dan)的線(xian)纜就可實現(xian)通信(xin),降(jiang)低成本,適用(yong)于傳輸距離長且傳輸速度較慢(man)的通信(xin)。 串(chuan)口(kou)(kou)是計(ji)算機(ji)(ji)一(yi)種常用的接口(kou)(kou),常用的串(chuan)口(kou)(kou)有RS-232-C接口(kou)(kou)。它(ta)是于1970年由美國(guo)電(dian)子(zi)工業(ye)協會(EIA)聯合貝爾系統、調制(zhi)解(jie)調器(qi)廠(chang)家及計(ji)算機(ji)(ji)終(zhong)端生產廠(chang)家共同制(zhi)定的用于串(chuan)行通訊的標準,它(ta)的全(quan)稱是“數據終(zhong)端設(she)備(DTE)和數據通訊設(she)備(DCE)之間串(chuan)行二(er)進(jin)制(zhi)數據交換接口(kou)(kou)技術(shu)標準”。該標準規定采用一(yi)個DB25芯引(yin)腳的連(lian)接器(qi)或9芯引(yin)腳的連(lian)接器(qi),其(qi)中常用的9芯引(yin)腳的連(lian)接器(qi)如圖1.1 
 S3C2410X內(nei)部具(ju)有(you)2個獨立的(de)(de)(de)UART控(kong)制器,每(mei)個控(kong)制器都(dou)可以工作在Interrupt(中斷)模(mo)(mo)式(shi)或者DMA(直(zhi)接(jie)存(cun)儲訪問)模(mo)(mo)式(shi)。同(tong)時,每(mei)個UART均具(ju)有(you)16字節(jie)的(de)(de)(de)FIFO(先入先出寄存(cun)器),支持(chi)的(de)(de)(de)高波(bo)特率(lv)可達(da)到230.4Kbps。UART的(de)(de)(de)操作主要可分為(wei)以下幾個部分:數據(ju)發送、數據(ju)接(jie)收、產生中斷、設置波(bo)特率(lv)、Loopback模(mo)(mo)式(shi)、紅(hong)外模(mo)(mo)式(shi)以及硬軟流控(kong)模(mo)(mo)式(shi)。 串口參(can)數的配(pei)置(zhi)讀者在配(pei)置(zhi)超級終端和minicom時也(ye)已經接觸過,一般包括波特(te)(te)(te)率、起始位(wei)比特(te)(te)(te)數、數據位(wei)比特(te)(te)(te)數、停止位(wei)比特(te)(te)(te)數和流控模式。在此,可以將其配(pei)置(zhi)為(wei)波特(te)(te)(te)率115200、起始位(wei)1b、數據位(wei)8b、停止位(wei)1b和無流控模式。 在Linux中(zhong),所有的(de)(de)設(she)備(bei)文件(jian)一(yi)般都位于(yu)“/dev”下,其中(zhong)串(chuan)(chuan)(chuan)口(kou)一(yi)和串(chuan)(chuan)(chuan)口(kou)二對(dui)應的(de)(de)設(she)備(bei)名(ming)依次為(wei)“/dev/ttyS0”和“/dev/ttyS1”,而且USB轉(zhuan)串(chuan)(chuan)(chuan)口(kou)的(de)(de)設(she)備(bei)名(ming)通常(chang)為(wei)“/dev/ttyUSB0”和“/dev/ttyUSB1”(因(yin)驅動不(bu)同(tong)該設(she)備(bei)名(ming)會有所不(bu)同(tong)),可以(yi)(yi)查看在“/dev”下的(de)(de)文件(jian)以(yi)(yi)確認。在本章中(zhong)已經提到(dao)過,在Linux下對(dui)設(she)備(bei)的(de)(de)操(cao)作方(fang)法與對(dui)文件(jian)的(de)(de)操(cao)作方(fang)法是(shi)一(yi)樣的(de)(de),因(yin)此(ci),對(dui)串(chuan)(chuan)(chuan)口(kou)的(de)(de)讀寫(xie)就可以(yi)(yi)使用簡單(dan)的(de)(de)read(),write()函數來完成,所不(bu)同(tong)的(de)(de)只是(shi)需要對(dui)串(chuan)(chuan)(chuan)口(kou)的(de)(de)其他參數另做配置(zhi)。 熱點鏈(lian)接: 
         1、嵌入式Linux內核如何編譯
 |