STM32
直播中

龙献益

7年用户 1013经验值
私信 关注
[问答]

使用STM32CubeMX配置串口中断后硬件没有反应怎么办?

使用STM32CubeMX配置串口中断后硬件没有反应怎么办?

回帖(1)

李龙

2021-11-17 09:22:48
使用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 */  
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分