介绍串口的接收中断与空闲中断,这两种中断都是在串口进行接收时可能会发生的中断。
串口接收中断即每当串口完成一次接收之后触发一次中断。在 STM32 中相应的中断处理函数为 USARTx_IRQHandler,中断回调函数为 HAL_UART_RxCpltCallback。可以通过USART 状态寄存器中的 UART_FLAG_RXNE 位判断 USART 是否发生了接收中断。
串口空闲中断即每当串口接收完一帧数据后又过了一个字节的时间没有接收到任何数据则触发一次中断,中断处理函数同样为 USARTx_IRQHandler,可以通过 USART 状态寄存器中的 UART_FLAG_IDLE 判断是否发生了空闲中断。
##参考:stm32f4xx中文参考手册:usart的状态寄存器(usart_SR)