<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          對(duì)UART的FIFO的理解

          作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
          FIFO的必要性。在進(jìn)行UART通信時(shí),中斷方式比輪詢方式要簡(jiǎn)便且效率高。但是,如果沒(méi)有收發(fā)FIFO,則每傳輸一個(gè)數(shù)據(jù)(5~8位)都要中斷處理一次,效率仍然不高。如果有了收發(fā)FIFO,則可以在連續(xù)收發(fā)若干個(gè)數(shù)據(jù)(可多至14個(gè))后才產(chǎn)生一次中斷,然后一起處理。這就大大提高了收發(fā)效率。
            接收超時(shí)問(wèn)題。如果沒(méi)有接收超時(shí)功能,則在對(duì)方已經(jīng)發(fā)送完畢而接收FIFO未填滿時(shí)并不會(huì)觸發(fā)中斷(FIFO滿才會(huì)觸發(fā)中斷),結(jié)果造成最后接收的有效數(shù)據(jù)得不到處理的問(wèn)題。有了接收超時(shí)功能后,如果接收FIFO未填滿而對(duì)方發(fā)送已經(jīng)停,則在不超過(guò)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)生中斷,通知主程序說(shuō):我已經(jīng)完成真正的發(fā)送。
            接收時(shí),如果對(duì)方是連續(xù)不間斷發(fā)送,則填滿FIFO后會(huì)以中斷的方式通知主程序說(shuō):現(xiàn)在有一批數(shù)據(jù)來(lái)了,請(qǐng)?zhí)幚怼?/div>
            如果對(duì)方是間斷性發(fā)送,也不要緊,當(dāng)間隔時(shí)間過(guò)長(zhǎng)時(shí)(2~3個(gè)字符傳輸時(shí)間),也會(huì)產(chǎn)生中斷,這次是超時(shí)中斷,通知主程序說(shuō):對(duì)方可能已經(jīng)發(fā)送完畢,但FIFO未滿,也請(qǐng)?zhí)幚怼?/div>

          關(guān)鍵詞: UARTFIF

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();