加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

为什么STM32H723 SPI6+BDMA组合,通信过程经常报UDR和OVR错误中断

12/17 11:49
164
阅读需 2 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

最新回答

  • 这就看你程序逻辑了。UDR表示发生了underrun错误,发生在从模式的发送阶段的发送FIFO为空时。

    确保在主机启动时钟之前,TxFIFO中已经有足够的数据。

    在TxFIFO为空时,不要清除UDR标志。确保在清除UDR标志之前,TxFIFO中已经有数据。

    至于OVR错误,那就比较常见,发生在接收时前面数据没取走又来新数据了。尽量保证数据提取的即使性。

    合理安排代码中的中断,不必要的中断就别开了,比方DMA传输半完成中断,中断处理代码力求简洁。

  • 可以屏蔽其他代码试试,或者固定和简化通讯数据。

    看看是配置上的问题还是软件架构上的问题。

相关推荐

电子产业图谱