hal_uart_receive_it历程
时间: 2023-09-14 18:10:32 浏览: 86
UART接收发送程序
hal_uart_receive_it是HAL库中UART接收中断的函数,其流程如下:
1. 在函数开始时,首先判断当前UART是否已经处于接收状态,如果是则直接返回,避免重复开启接收中断。
2. 如果当前UART没有处于接收状态,则将接收缓冲区清空,并将接收状态标记为开启。
3. 然后通过HAL库提供的HAL_UART_Receive_IT函数向UART发送接收请求,并开启接收中断。
4. 当UART接收到数据后,将触发中断,在中断服务函数中,首先判断当前接收状态是否为开启状态,如果不是则直接返回,避免接收到无效数据。
5. 如果当前接收状态为开启状态,则将接收到的数据存入接收缓冲区,并将接收缓冲区指针后移一个字节。
6. 如果接收缓冲区已满,则将接收状态标记为关闭,并调用回调函数通知应用程序接收完成。
7. 如果接收缓冲区未满,则继续开启接收中断,等待接收下一个数据。
8. 在整个过程中,如果出现错误,则会调用HAL_UART_ErrorCallback函数进行错误处理。
以上就是hal_uart_receive_it的流程。
阅读全文