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