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

          新聞中心

          STM32串口中斷的一些資料

          作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò) 收藏
          在研究STM32串口接收發(fā)送中斷的時(shí)候找到不少不錯(cuò)的資料,現(xiàn)在備份在這里。以供自己查閱,以及方便其他人。

          TC====TXE

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

          順便預(yù)告下最近會(huì)寫(xiě)個(gè)有關(guān)串口處理數(shù)據(jù)的帖子,從查詢和中斷方面以及數(shù)據(jù)處理的方式,從隊(duì)列以及FIFO方面寫(xiě)起。

          SECTION1

          SECTION2

          先說(shuō)TC。即TransmissionComplete。發(fā)送一個(gè)字節(jié)后才進(jìn)入中斷,這里稱為“發(fā)送后中斷”。和原來(lái)8051的TI方式一樣,都是發(fā)送后才進(jìn)中斷,需要在發(fā)送函數(shù)中先發(fā)送一個(gè)字節(jié)觸發(fā)中斷。發(fā)送函數(shù)如下

          /*
          功能:中斷方式發(fā)送字符串.采用判斷TC的方式.即判斷發(fā)送后中斷位.
          輸入:字符串的首地址
          輸出:無(wú)
          */
          voidUSART_SendDataString(u8*pData)
          {
          pDataByte=pData;

          USART_ClearFlag(USART1,USART_FLAG_TC);//清除傳輸完成標(biāo)志位,否則可能會(huì)丟失第1個(gè)字節(jié)的數(shù)據(jù).網(wǎng)友提供.

          USART_SendData(USART1,*(pDataByte++));//必須要++,不然會(huì)把第一個(gè)字符t發(fā)送兩次
          }


          中斷處理函數(shù)如下
          /
          *FunctionName:USART1_IRQHandler
          *Description:ThisfunctionhandlesUSART1globalinterruptrequest.
          *Input:None
          *Output:None
          *Return:None
          */
          voidUSART1_IRQHandler(void)
          {
          if(USART_GetITStatus(USART1,USART_IT_TC)==SET)
          {
          if(*pDataByte==看屁屁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); })();