久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 對UART的FIFO的理解

對UART的FIFO的理解

作者: 時間:2016-11-23 來源:網絡 收藏
FIFO的必要性。在進行UART通信時,中斷方式比輪詢方式要簡便且效率高。但是,如果沒有收發FIFO,則每傳輸一個數據(5~8位)都要中斷處理一次,效率仍然不高。如果有了收發FIFO,則可以在連續收發若干個數據(可多至14個)后才產生一次中斷,然后一起處理。這就大大提高了收發效率。
  接收超時問題。如果沒有接收超時功能,則在對方已經發送完畢而接收FIFO未填滿時并不會觸發中斷(FIFO滿才會觸發中斷),結果造成最后接收的有效數據得不到處理的問題。有了接收超時功能后,如果接收FIFO未填滿而對方發送已經停,則在不超過3個數據的接收時間內就會觸發超時中斷,因此數據會照常得到處理。
  發送時,只要發送FIFO不滿,數據只管往里連續放,放完后就直接退出發送子程序。隨后,FIFO真正發送完成后會自動產生中斷,通知主程序說:我已經完成真正的發送。
  接收時,如果對方是連續不間斷發送,則填滿FIFO后會以中斷的方式通知主程序說:現在有一批數據來了,請處理。
  如果對方是間斷性發送,也不要緊,當間隔時間過長時(2~3個字符傳輸時間),也會產生中斷,這次是超時中斷,通知主程序說:對方可能已經發送完畢,但FIFO未滿,也請處理。


關鍵詞: UARTFIF

評論


技術專區

關閉