概述
使用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 */
}
最后
以上就是深情蜜粉为你收集整理的STM32CubeMX串口中断配置后无效问题的解决的全部内容,希望文章能够帮你解决STM32CubeMX串口中断配置后无效问题的解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复