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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機串口處理獲得的經(jīng)驗(stm32)

          單片機串口處理獲得的經(jīng)驗(stm32)

          作者: 時間:2016-11-17 來源:網(wǎng)絡(luò) 收藏
          最近搞了一個stm32串口數(shù)據(jù)幀批處理代碼,遇到了很多問題,作為剛工作的我,經(jīng)驗太缺乏,實在是需要總結(jié)一番,以避免以后再出現(xiàn)同樣的錯誤。

          大致情況羅列如下:

          本文引用地址:http://www.ex-cimer.com/article/201611/315410.htm

          1、串口接收中斷處理

          在學(xué)校的時候根本沒有接觸過什么循環(huán)處理的方法,到現(xiàn)在我也講不上來這個方法的名字是什么,反正自己會運用了。大致的情況是環(huán)形數(shù)組處理,代碼如下:

          //======================>> 接收數(shù)據(jù)中斷
          if( USART_GetITStatus( COM_USARTx, USART_IT_RXNE ) != RESET )
          {
          if( COM_Rx_Sign == 1 )
          {
          COM_Cout_mS = DEF_COM_FRM_END_MS;
          }
          COM_Uart_RxBuf.Buf[ COM_Uart_RxBuf.WriteSize++ ] = USART_ReceiveData( COM_USARTx );
          if( COM_Uart_RxBuf.WriteSize >= COM_TxRx_BUF_SIZE ) /* 循環(huán)接收數(shù)據(jù)存儲 */
          {
          COM_Uart_RxBuf.WriteSize = 0;
          }
          USART_ClearITPendingBit( COM_USARTx, USART_IT_RXNE );/* Clear the USART Receive interrupt */
          }

          2、發(fā)送數(shù)據(jù)處理

          采用的是usart轉(zhuǎn)485接口,所以在常態(tài)要將485置為接受狀態(tài),只有發(fā)送數(shù)據(jù)的時候才置為發(fā)送狀態(tài)。這樣說表面上看著沒啥問題,但是剛開始的時候一直出現(xiàn)發(fā)送數(shù)據(jù)最后一個字節(jié)丟失,我一直不知道問題,最后仿真器在中斷里面485置為接受之前設(shè)置了一個斷點



          關(guān)鍵詞: 單片機串口處理stm3

          評論


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