zoukankan      html  css  js  c++  java
  • STM32空闲中断

    收发共存的思路没有经过验证!!!

    空闲中断:既可以用来作为不定长接收数据帧的断帧判断/特别是DMA数据的接收,也可以用来指示中断发送的结束。

    在需要发送的地方USART_ITConfig(UART5, USART_IT_IDLE, ENABLE);

    在接收的中间USART_ITConfig(UART5, USART_IT_IDLE, ENABLE);

    在空闲中断里面分清是发送结束还是接收结束

    void UART5_IRQHandler(void)
    {

      if(USART_GetITStatus(UART5,USART_IT_TC))
      {

      }

      if(USART_GetITStatus(UART5,USART_IT_RXNE))
      {

      }

      if(USART_GetITStatus(UART5,USART_IT_IDLE))/*空闲中断*/
      {
              status = UART5->SR;
              status = UART5->DR;/*清标志*/       
             for(i=0;i<PrintDMA.Prtsize;i++)/*数据缓存*/
            {            
                  Rbuff[i] = *(PrintDMA.pPrt+i);
            }  

       PrintDMA.pPrt = NULL;/*接收数据指针和长度归零*/
            PrintDMA.Prtsize =0;
            Flag_PrtFinished =TRUE;   
            USART_ITConfig(UART5,USART_IT_RXNE, DISABLE); //
            USART_ITConfig(UART5, USART_IT_IDLE, DISABLE); //

      }

    }

  • 相关阅读:
    python 基础笔记十
    python 基础笔记十一
    python 基础笔记九-集合
    python 基础笔记八-time模块
    python 基础笔记七-OS模块
    python 基础笔记六-函数
    Python 基础笔记四
    4-5 元祖
    4-4 修改文件
    4-3 高效读取文件 --待完成
  • 原文地址:https://www.cnblogs.com/jieruishu/p/6525206.html
Copyright © 2011-2022 走看看