关于F4串口中断的标志位问题

2019-07-20 09:51发布

本帖最后由 linglingling 于 2018-1-26 22:09 编辑

新手,请教关于串口中断的问题
串口3使用中断接收
void USART3_IRQHandler(void)
{
     uint32_t tmp1 = 0;
     uint32_t tmp2 = 0;
     tmp1 = __HAL_UART_GET_FLAG(&UART3_Handler, UART_FLAG_RXNE);
     tmp2 = __HAL_UART_GET_IT_SOURCE(&UART3_Handler, UART_IT_RXNE);

其中tmp1无法获取标志位信息,且执行tmp1 = __HAL_UART_GET_FLAG(&UART3_Handler, UART_FLAG_RXNE);语句时,SR寄存中的标志位会被自动清除;
请问进入串口中断函数会自动清除RXNE(或IDLE等)标志位吗?
请问正确步骤该如何获取SR的标志位信息?
0条回答

一周热门 更多>