STM32
直播中

王利祥

7年用户 1406经验值
私信 关注
[问答]

为什么stm32f407接收一次串口中断后会卡死呢

为什么STM32f407接收一次串口中断后会卡死呢?如何去解决呢?

回帖(1)

h1654155275.5764

2021-12-13 14:26:17
问题:今天在调试stm32f407的时候,发现只要接收一次串口中断后,会一直死在串口中断中,明明已经通过USART_ClearITPendingBit(UART5,USART_IT_RXNE);清除中断标志位了,但是还是不进入中断,其DR寄存器中数据为零,源码如下,波特率为500000:

void UART5_IRQHandler(void)
{
    u8 ResData=0;
    if(USART_GetITStatus(UART5, USART_IT_RXNE) != RESET)
    {
                            ResData=USART_ReceiveData(UART5);
          AD_DataProcess(ResData,&ADToMainData);
                            USART_ClearITPendingBit(UART5,USART_IT_RXNE);
    }
}


后来看了这两篇文章明白了原理,看来还是需要读手册。
1 举报

更多回帖

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