打印
[STM32L4]

关于串口中断的问题

[复制链接]
274|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
把除了这个中断别的代码都删掉 然后一点点的加回来试试

使用特权

评论回复
5
yufe| | 2020-11-2 21:05 | 只看该作者
本来就应该添加这个中断函数啊

使用特权

评论回复
6
gongche| | 2020-11-2 21:10 | 只看该作者
是不是一直给你发送数据呢啊

使用特权

评论回复
7
tian111| | 2020-11-2 21:13 | 只看该作者
看的我也是莫名其妙的

使用特权

评论回复
8
llljh|  楼主 | 2020-11-2 21:19 | 只看该作者

好的,我明天去单位试一下,多谢各位大侠了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝