HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
此函数为已非阻塞模式接收数据。
Hal库使用串口,需要在初始化时调用上面的函数来使能串口接收中断。例如
int main() { MX_GPIO_Init(); MX_TIM1_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ HAL_TIM_Base_Start_IT(&htim1); HAL_UART_Receive_IT(&huart1,data_buff,1); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) }
注意:能够进入回调函数HAL_UART_RxCpltCallback的条件之一:
接收到的data_buff数据的大小 = 你设定的接收数据的大小1此时才能触发串口中断进入回调函数。
data_buff==1