先楫半导体HPMicro
直播中

liminqi

2年用户 9经验值
擅长:电源/新能源
私信 关注
[问答]

【先楫HPM5361EVK开发板】HPM5361 MCAN项目调试断点问题

请问有没有人遇到过从CAN总线上读取数据必须要在调试模式下断点才能读到?按照过滤配置配置好后存入缓存中,使用时必须调试断点,如下图所示:
image.png
本地运行时,配置的发送,外设都正常,就是无法从总线上读取数据,仅仿真模式下断点能读取到

回帖(2)

HCPcry

2023-12-17 15:17:04

最佳答案

对于某些MCAN控制器或驱动程序,可能会出现从CAN总线上读取数据需要在调试模式下设置断点才能读取到的情况。这可能是由于以下原因导致的:

1. 某些驱动程序需要在调试模式下才能正确读取数据。这可能与驱动程序的实现方式有关,但具体原因可能需要查看驱动程序的文档或与厂商进行沟通。

2. 在调试模式下,执行速度会比实际运行速度慢,这可能会导致在非调试模式下无法读取到数据。在调试模式下设置断点会暂停程序的执行,从而使得数据能够被正确读取。这是因为在断点处暂停程序的执行,使得CAN控制器有足够的时间去读取数据。

如果你的应用中必须在非调试模式下读取CAN总线上的数据,你可以尝试以下解决方案:

1. 确保你的驱动程序已经正确配置并且按照CAN总线上数据的过滤规则进行配置。有时候,错误的配置可能导致数据无法被正确读取。

2. 尝试增加执行延迟。在非调试模式下,程序的执行速度会比调试模式下快,可能会导致CAN控制器来不及读取数据。你可以在程序中增加延迟步骤,以确保CAN控制器有足够的时间读取数据。

3. 与MCAN芯片的厂商或提供商进行联系。他们可能能够提供更详细的解决方案或驱动程序的更新版本,以解决这个问题。

请注意,以上解决方案仅供参考。具体解决方法可能因为MCAN控制器、驱动程序或应用的不同而有所区别。因此,在尝试解决问题之前,建议你参考相关文档和资源,并与相关的厂商或MCAN芯片的提供商进行沟通。
举报

liminqi

2024-1-11 14:23:27
芯片CAN采集速度没那么快,通过增加主循环时间已解决
举报

更多回帖

发帖
×
20
完善资料,
赚取积分