STM32HAL庫不能觸發USART1串口HAL_UART_RxCpltCallback回調函數的問題1-已解決


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM