STM32
直播中

duke刘

10年用户 756经验值
擅长:可编程逻辑
私信 关注
[问答]

如何去编写stm32串口USART1的中断处理函数呢

如何去编写STM32串口USART1的中断处理函数呢?

回帖(1)

李焰

2021-12-9 10:34:02

/**************** USART1中断处理函数******************/
void USART1_IRQHandler(void)
{   
     if(USART_GetITStatus(USART1, USART_IT_RXNE)!= RESET)
      {      
          if(Rx_Counter<64)
          {
              Rx_buffer[Rx_Counter++]=USART_ReceiveData(USART1);    //接收一字节数据存入数组中
          }
      }
      else if(USART_GetITStatus(USART1,USART_IT_IDLE)!= RESET)
           {
               USART_ReceiveData(USART1); //此处一定要有,这是用于清除IDLE空闲标志位的
               USART_ClearFlag(USART1,USART_FLAG_IDLE);  
               Rx_Fin=1;    //接收完一帧数据标志
           }
}


int main()
{
      while(1)
     {   
         if(Rx_Fin==1)
         {
              Usart_SendArray(USART1,Rx_buffer,Rx_Counter);   
             Rx_Fin=0;
             Rx_Counter=0;
         }
     }  
}


举报

更多回帖

发帖
×
20
完善资料,
赚取积分