STM32CubeMX串口中断配置后无效问题的解决

使用STM32CubeMX配置了串口中断后,实际硬件没有反应,串口接受也没有反应。反复检查了几遍,配置也并没有错误。
经过反复排查,发现CubeMX在配置串口中断没有填加使能函数
也就是下面这句

  __HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);  

整体的串口初始化(默认在usart.c文件中配置)配置完成后应该与下面相似,除了我在下面代码中加入注释的部分,其余STM32CubeMX都是默认配置好的

void MX_USART2_UART_Init(void)
{
    
    

  huart2.Instance = USART2;
  huart2.Init.BaudRate = 9600;
  huart2.Init.WordLength = UART_WORDLENGTH_8B;
  huart2.Init.StopBits = UART_STOPBITS_1;
  huart2.Init.Parity = UART_PARITY_NONE;
  huart2.Init.Mode = UART_MODE_TX_RX;
  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  HAL_UART_Init(&huart2);
   /* USER CODE BEGIN USART2_UART_Init 0 */
  __HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE); 		//默认不配置,需要手动添加 
  /* USER CODE END USART2_UART_Init 0 */  
}

猜你喜欢

转载自blog.csdn.net/qq_46135352/article/details/107427082