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

          新聞中心

          stm32 USART_IT_IDLE

          作者: 時(shí)間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
          請(qǐng)注意IDLE中斷是只檢測(cè)到空閑幀時(shí)產(chǎn)生的中斷。

          而空閑幀的定義是:被視為完全由“1"組成的一個(gè)完整的數(shù)據(jù)幀,后面跟著包含?數(shù)據(jù)的下一幀的開始位。

          關(guān)鍵是后面半句話,要求有下一幀的開始位,而你的情況恰巧沒有下一幀的開始位(傳輸已經(jīng)結(jié)束),當(dāng)然不會(huì)有中斷了。


          舉例:
          如果連續(xù)發(fā)送一串字符串“123”會(huì)發(fā)生空閑中斷嗎?
          不會(huì),因?yàn)闆]有下一幀的開始位。
          如果進(jìn)了空閑中斷不手動(dòng)清零,會(huì)一直進(jìn)入空閑中斷。

          所以用這個(gè)IDLEIE來結(jié)束DMA方式的接收,是合適的。唯一一個(gè)不合適的地方是:如果你發(fā)送一個(gè)字符串后,將DMA設(shè)置好接收傳輸方式,然后:對(duì)方?jīng)]響應(yīng),你一個(gè)字符也收不到,這時(shí)候,IDLEIE是不會(huì)來的,必須有個(gè)總超時(shí)檢測(cè)來結(jié)束DMA接收方式:因?yàn)镮DLEIE中斷必須要有字符串收到,然后有一個(gè)字符的時(shí)間沒收下一個(gè)字符的起始位,才會(huì)發(fā)生。

          另外,1個(gè)字符間隔的空閑就結(jié)束接收:是默認(rèn)任何對(duì)方發(fā)送字節(jié)的間隔不大于1個(gè)字符間隔,是不符合Modbus-RTU協(xié)議的,RTU協(xié)議是3.5個(gè)字符時(shí)間,如果收到"a"后,停了2個(gè)字符時(shí)間,又收到"b",Modbus-RTU還是認(rèn)為ab是同一幀的連續(xù)字符。


          關(guān)鍵詞: stm32USART_IT_IDL

          評(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); })();