stm32 USART_IT_IDLE中断 一帧数据
生活随笔
收集整理的這篇文章主要介紹了
stm32 USART_IT_IDLE中断 一帧数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
USART_IT_IDLE和USART_IT_RXNE區別
當接收到1個字節,會產生USART_IT_RXNE中斷
當接收到一幀數據,就會產生USART_IT_IDLE中斷
清中斷方法
//USART_IT_RXNE USART_ClearITPendingBit(USART1, USART_IT_RXNE);//USART_IT_IDLE USART1->SR; //先讀SR寄存器 USART1->DR; //再讀DR寄存器使用舉例
u8 count; u8 flag;void uart_init(u32 bound) {...USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);USART_ITConfig(USART1, USART_IT_IDLE, ENABLE);... }void USART1_IRQHandler(void) {u8 r;if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET){USART_ClearITPendingBit(USART1, USART_IT_RXNE); //只USART_ReceiveData也可以//r = USART_ReceiveData(USART1);count++;}else if(USART_GetFlagStatus(USART1, USART_FLAG_IDLE) != RESET){USART1->SR;USART1->DR;flag = 1;} }int main() {while(1){if(flag == 1){printf("count %d\r\n", count);flag = 0;count = 0;}delay_ms(10);} }實驗現象
總結
以上是生活随笔為你收集整理的stm32 USART_IT_IDLE中断 一帧数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 窗口的生命周期
- 下一篇: 关于STM32串口空闲中断的问题