久芯网

ORE溢出问题

avatar h12121 提问时间: 2023-08-02 09:40:29 / 已解决
STM32f072在串口接收数据时总发生ORE溢出错误,导致主程序被卡死,怎么解决?求大神指导
6个回答
  • avatar xmshao
    最佳答案
    回答时间: 2023-08-02 10:10:42

    这个发生在接收时未及时提取数据导致的。如果中断多的话,注意合理安排优先级,别影响到UART的接收了。另外,可能的话尽量优化接收代码,接收代码别太冗长。或者改成DMA接收也是个不错的选择。

  • avatar STMCU-管管
    回答时间: 2023-08-02 10:41:17

    看看是不是其他中断函数占用时间太长。

  • avatar 废鱼
    回答时间: 2023-08-02 10:58:19

    HAL库用中断接收数据完成后,要马上重新开启中断接收。要不等串口溢出后,只能重新初始化串口进行数据接收。

  • avatar butterflyspring
    回答时间: 2023-08-02 11:17:10

    多半是读取数据不及时。可以在读取数据时翻转IO口,测试一下接收时间是不是超了。如果是,就要优化中断优先级或者改用DMA方式。

  • avatar h12121
    回答时间: 2023-08-02 11:44:49
    butterflyspring 发表于 2022-4-12 09:47
    [md]多半是读取数据不及时。可以在读取数据时翻转IO口,测试一下接收时间是不是超了。如果是,就要优化中断 ...

    感谢大佬的意见

  • avatar h12121
    回答时间: 2023-08-02 12:13:23
    xmshao 发表于 2022-4-11 17:10
    这个发生在接收时未及时提取数据导致的。如果中断多的话,注意合理安排优先级,别影响到UART的接收了。另外 ...

    非常感谢,已解决

会员中心 微信客服
客服
回到顶部