- 外部需要调用 stm32f1xx_hal_uart.h,需要在前面先包含 stm32f1xx_hal.h,具体如下
-
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal_uart.h"
- 中断服务函数 HAL_UART_IRQHandler
- 在线程里面接收固定长度的数据使用以下函数,读取返回值判定接收完成、故障等
HAL_UART_Receive()
2.在线程里面发送固定长度的数据使用以下函数,读取返回值判定接收完成、故障HAL_UART_Transmit()
3.通过中断接收、发送固定的数据使用以下函数(不会占用主线程资源),通过回调函数判定接收完成、故障等。
HAL_UART_Receive_IT()
HAL_UART_Transmit_IT
RxCpltCallback : Rx Complete Callback.
HAL_UART_TxCpltCallback: Transfer completed callbacks
HAL_UART_ErrorCallback :UART error callbacks
4.所有UART的callback函数是公用的,使用callback函数要先判断是哪个uart
/* 判断是哪个串口触发的中断 */
if(huart ->Instance == USART1)
5.也可以更改 USE_HAL_UART_REGISTER_CALLBACKS 数值,决定是使用公用的callback函数,还是使用uart各自私有的回调函数