__HAL_UART_CLEAR_IDLEFLAG(uart1.uart)与__HAL_UART_CLEAR_FLAG(uart1.uart,UART_FLAG_IDLE)的区别

张开发
2026/4/11 22:50:08 15 分钟阅读

分享文章

__HAL_UART_CLEAR_IDLEFLAG(uart1.uart)与__HAL_UART_CLEAR_FLAG(uart1.uart,UART_FLAG_IDLE)的区别
根据 STM32 参考手册和 HAL 库文档IDLE 标志的清除必须通过软件序列完成先读 SR再读 DR。驱动stm32f103c8t6的时候清楚空闲中断需要用到__HAL_UART_CLEAR_IDLEFLAG(uart1.uart)而不是__HAL_UART_CLEAR_FLAG(uart1.uart,UART_FLAG_IDLE)。

更多文章