我們先來了解一下又那謝謝數(shù)據(jù)通信的基本方式,常見的數(shù)據(jù)通信的基本方式可分為并行通信與串行通信兩種。
● 并行通信是指利用多條數(shù)據(jù)傳輸線將一個字數(shù)據(jù)的各比特位同時傳送。它的特點是傳輸速度快,適用于傳輸距離短且傳輸速度較高的通信。
● 串行通信是指利用一條傳輸線將數(shù)據(jù)以比特位為單位順序傳送。特點是通信線路簡單,利用簡單的線纜就可實現(xiàn)通信,降低成本,適用于傳輸距離長且傳輸速度較慢的通信。
串口是計算機一種常用的接口,常用的串口有RS-232-C接口。它是于1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通信的標準,它的全稱是“數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通信設備(DCE)之間串行二進制數(shù)據(jù)交換接口技術標準”。該標準規(guī)定采用一個DB25芯引腳的連接器或9芯引腳的連接器,其中常用的9芯引腳的連接器如圖所示。
S3C2410X內部具有2個獨立的UART控制器,每個控制器都可以工作在Interrupt(中斷)模式或者DMA(直接存儲訪問)模式。同時,每個UART均具有16字節(jié)的FIFO(先入先出寄存器),支持的高波特率可達到230.4Kb/s。UART的操作主要分為以下幾個部分:數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、產生中斷、設置波特率、Loopback模式、紅外模式及硬軟流控模式。
關于串口參數(shù)的配置,在配置超級終端和minicom時已經接觸過,一般包括波特率、起始位比特數(shù)、數(shù)據(jù)位比特數(shù)、停止位比特數(shù)和流控模式。在此,可以將其配置為波特率115200、起始位1b、數(shù)據(jù)位8b、停止位1b和無流控模式。
在Linux中,所有的設備文件一般都位于“/dev”下,其中,串口一和串口二對應的設備名依次為“/dev/ttyS0”和“/dev/ttyS1”,而且USB轉串口的設備名通常為“/dev/ttyUSB0”和“/dev/ttyUSB1”(因驅動不同該設備名會有所不同),可以查看在“/dev”下的文件以確認。在本章中已經提到過,在Linux下對設備的操作方法與對文件的操作方法是一樣的,因此,對串口的讀寫就可以使用簡單的read()、write()函數(shù)來完成,所不同的只是需要對串口的其他參數(shù)另做配置。