對(duì)UART的FIFO的理解
接收超時(shí)問題。如果沒有接收超時(shí)功能,則在對(duì)方已經(jīng)發(fā)送完畢而接收FIFO未填滿時(shí)并不會(huì)觸發(fā)中斷(FIFO滿才會(huì)觸發(fā)中斷),結(jié)果造成最后接收的有效數(shù)據(jù)得不到處理的問題。有了接收超時(shí)功能后,如果接收FIFO未填滿而對(duì)方發(fā)送已經(jīng)停,則在不超過3個(gè)數(shù)據(jù)的接收時(shí)間內(nèi)就會(huì)觸發(fā)超時(shí)中斷,因此數(shù)據(jù)會(huì)照常得到處理。
發(fā)送時(shí),只要發(fā)送FIFO不滿,數(shù)據(jù)只管往里連續(xù)放,放完后就直接退出發(fā)送子程序。隨后,F(xiàn)IFO真正發(fā)送完成后會(huì)自動(dòng)產(chǎn)生中斷,通知主程序說:我已經(jīng)完成真正的發(fā)送。
接收時(shí),如果對(duì)方是連續(xù)不間斷發(fā)送,則填滿FIFO后會(huì)以中斷的方式通知主程序說:現(xiàn)在有一批數(shù)據(jù)來了,請(qǐng)?zhí)幚怼?/div>
如果對(duì)方是間斷性發(fā)送,也不要緊,當(dāng)間隔時(shí)間過長(zhǎng)時(shí)(2~3個(gè)字符傳輸時(shí)間),也會(huì)產(chǎn)生中斷,這次是超時(shí)中斷,通知主程序說:對(duì)方可能已經(jīng)發(fā)送完畢,但FIFO未滿,也請(qǐng)?zhí)幚怼?/div>
關(guān)鍵詞:
UARTFIF
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論