新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 串口通訊基礎(chǔ)及S3C2410 UART控制器

串口通訊基礎(chǔ)及S3C2410 UART控制器

作者: 時(shí)間:2016-12-06 來(lái)源:網(wǎng)絡(luò) 收藏

  ULCONn ( Line Control Register)見(jiàn)圖5-13

本文引用地址:http://butianyuan.cn/article/201612/341184.htm

    

 

  圖5-13

  Word Length :資料位長(zhǎng)度

  Number of Stop Bit :停止位數(shù)

  Parity Mode :奇偶校驗(yàn)位類(lèi)型

  Infra-Red Mode :/紅外模式選擇(當(dāng)以模式工作時(shí),需設(shè)為“0”)

  UCONn (UART Control Register)見(jiàn)圖5-14

  Receive Mode :選擇接收模式。如果是采用DMA模式的話,還需要指定說(shuō)使用的DMA信道。

  Transmit Mode :同上。

  Send Break Signal :選擇是否在傳1幀資料中途發(fā)送Break信號(hào)。

  Loopback Mode :選擇是否將UART置于Loopback測(cè)試模式。

  Rx Error Status Interrupt Enable :選擇是否使能當(dāng)發(fā)生接收異常時(shí),是否產(chǎn)生接收錯(cuò)誤中斷。

  Rx Time Out Enable :是否使能接收超時(shí)中斷。

  Rx Interrupt Type :選擇接收中斷類(lèi)型。

  選擇0:Pulse(脈沖式/邊沿式中斷。非FIFO模式時(shí),一旦接收緩沖區(qū)中有資料,即產(chǎn)生一個(gè)中斷;為FIFO模式時(shí),一旦當(dāng)FIFO中的資料達(dá)到一定的觸發(fā)水平后,即產(chǎn)生一個(gè)中斷)

  選擇1:Level(電平模式中斷。非FIFO模式時(shí),只要接收緩沖區(qū)中有資料,即產(chǎn)生中斷;為FIFO模式時(shí),只要FIFO中的資料達(dá)到觸發(fā)水平后,即產(chǎn)生中斷)

  Tx Interrupt Type :類(lèi)同于Rx Interrupt Type

  Clock Selection :選擇UART波特率發(fā)生器的時(shí)鐘源。

    

 

  圖5-14

  UFCONn (UART FIFO Conrtol Register)見(jiàn)圖5-15

  FIFO Enable :FIFO使能選擇。

  Rx FIFO Reset :選擇當(dāng)復(fù)位接收FIFO時(shí)是否自動(dòng)清除FIFO中的內(nèi)容。

  Tx FIFO Reset :選擇當(dāng)復(fù)位發(fā)送FIFO時(shí)是否自動(dòng)清除FIFO中的內(nèi)容。

  Rx FIFO Trigger Level :選擇接收FIFO的觸發(fā)水平。

  Tx FIFO Trigger Level :選擇發(fā)送FIFO的觸發(fā)水平。

    

 

  圖5-15

  UMCONn (UART Modem Control Register)見(jiàn)圖5-16

  Request to Send :如果在AFC模式下,該位將由UART控制器自動(dòng)設(shè)置;否則的話就必須由用戶(hù)的軟件來(lái)控制。

  Auto Flow Control :選擇是否使能自動(dòng)流控(AFC)。

    

 

  圖5-16

  UTRSTATn (UART TX/RX Status Register)見(jiàn)圖5-17

  Receive buffer data ready :當(dāng)接收緩沖寄存器從UART接收端口接收到有效資料時(shí)將自動(dòng)置“1”。反之為“0”則表示緩沖器中沒(méi)有資料。

  Transmit buffer empty :當(dāng)發(fā)送緩沖寄存器中為空,自動(dòng)置“1”;反之表明緩沖器中正有資料等待發(fā)送。

  Transmitter empty :當(dāng)發(fā)送緩沖器中已經(jīng)沒(méi)有有效資料時(shí),自動(dòng)置“1”;反之表明尚有資料未發(fā)送。

    

 

  圖5-17

  UERSTATn (UART Error Status Register)見(jiàn)圖5-18

  Overrun Error :為“1”,表明發(fā)生Overrun錯(cuò)誤。

  Frame Error :為“1”。表明發(fā)生Frame(幀)錯(cuò)誤。

    

 

  圖5-18

  UFSTATn?。?UART FIFO Status Register)見(jiàn)圖5-19

  Rx FIFO Count :接收FIFO中當(dāng)前存放的字節(jié)數(shù)。

  Tx FIFO Count :發(fā)送FIFO中當(dāng)前存放的字節(jié)數(shù)。

  Rx FIFO Full :為“1“表明接收FIFO已滿(mǎn)。

  Tx FIFO Full :為“1“表明發(fā)送FIFO已滿(mǎn)。

    

 

  圖5-19

  UMSTATn?。?UART FIFO Status Register)見(jiàn)圖5-20

  Clear to Send :為“0”表示CTS無(wú)效;為“1”表示CTS有效。

  Delta CTS :指示自從上次CPU訪問(wèn)該位后,nCTS的狀態(tài)有無(wú)發(fā)生改變。

  為“0”則說(shuō)明不曾改變;反之表明nCTS信號(hào)已經(jīng)變化了。

    

 

  圖5-20

  UTXHn 和 URXHn 分別是UART發(fā)送和接收資料寄存器

  這兩個(gè)寄存器存放著發(fā)送和接收的資料,當(dāng)然只有一個(gè)字節(jié)8位資料。需要注意的是在發(fā)生溢出錯(cuò)誤的時(shí)候,接收的資料必須要被讀出來(lái),否則會(huì)引發(fā)下次溢出錯(cuò)誤

  UBRDIVn :(UART Baud Rate Divisor Register)見(jiàn)圖5-21

    

 

  圖5-21

  關(guān)于UART波特率的計(jì)算方法,在前面的內(nèi)容中已經(jīng)有詳細(xì)的闡述,此處不做多余說(shuō)明。

  小結(jié):讀寫(xiě)狀態(tài)寄存器UTRSTAT 以及錯(cuò)誤狀態(tài)寄存UERSTAT,可以反映芯片目前的讀寫(xiě)狀態(tài)以及錯(cuò)誤類(lèi)型。FIFO 狀態(tài)寄存器UFSTAT 和MODEM 狀態(tài)寄存器UMSTAT,通過(guò)前者可以讀出目前FIFO 是否滿(mǎn)以及其中的字節(jié)數(shù);通過(guò)后者可以讀出目前MODEM 的CTS狀態(tài)。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 串口 UART

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉