[STM32L4] 关于串口中断的问题

[复制链接]
 楼主| llljh 发表于 2020-11-2 20:51 | 显示全部楼层 |阅读模式

想在STM32L4中只使用RXNE中断,但是在中断回调函数中如果不添加上HAL库自身的函数HAL_UART_IRQHandler()中断就不断的发生,已经添加了清除RXNE标志位了。不知道是哪个地方引起的中断,或者还需要增加什么操作吗?
使能中断函数:
HAL_NVIC_SetPriority(USART3_IRQn, 7, 1);
HAL_NVIC_EnableIRQ(USART3_IRQn);
__HAL_UART_ENABLE_IT(&hlpuart1,UART_IT_RXNE);


中断处理函数:
if((__HAL_UART_GET_IT(&hlpuart1, UART_IT_RXNE) != RESET) && (__HAL_UART_GET_IT_SOURCE(&hlpuart1, UART_IT_RXNE) != RESET))
    {
       ///数据处理//
     __HAL_UART_SEND_REQ(&hlpuart1, UART_RXDATA_FLUSH_REQUEST);
    }
  HAL_UART_IRQHandler(&hlpuart1);//如果没有这句就会一直进中断,但是不是RXNE引起的了。
houcs 发表于 2020-11-2 20:55 | 显示全部楼层

HAL库不熟;
用CUBE软件生成下好了
香水城 发表于 2020-11-2 20:57 | 显示全部楼层
你看看是否发生了溢出事件,即overrun。
morrisk 发表于 2020-11-2 21:02 | 显示全部楼层
把除了这个中断别的代码都删掉 然后一点点的加回来试试
yufe 发表于 2020-11-2 21:05 | 显示全部楼层
本来就应该添加这个中断函数啊
gongche 发表于 2020-11-2 21:10 | 显示全部楼层
是不是一直给你发送数据呢啊
tian111 发表于 2020-11-2 21:13 | 显示全部楼层
看的我也是莫名其妙的
 楼主| llljh 发表于 2020-11-2 21:19 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部