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