单片机/MCU论坛
直播中

徐生财

10年用户 869经验值
擅长:MEMS/传感技术
私信 关注

TC234单片机两路CAN通讯收发异常的原因?

英飞凌TC234单片机单独使用CAN0和CAN1任意一路都收发正常,但是当我同时使用两路的时候,程序就会卡死,返回的错误消息为  IfxMultican_Status_notSentBusy 。
通过调试发现,在CAN1模块初始化的时候,会把CAN0初始化的部分参数给修改掉,修改的部分是参数MODULE_CAN里边的内容。
因为我两个CAN的模块初始化部分我使用的参数都是MODULE_CAN,不过当我对CAN1使用参数MODULE_CAN1的时候,程序还是会卡死

回帖(1)

刘桂英

2024-1-30 17:18:10
这个问题可能是因为程序在同时使用两个CAN通道时,使用了相同的参数对象MODULE_CAN,在初始化CAN1时覆盖了CAN0的一些参数,导致程序卡死。要解决这个问题,你需要为每个CAN通道使用不同的参数对象。

你可以尝试以下步骤来解决该问题:
1. 创建两个不同的参数对象,如MODULE_CAN0和MODULE_CAN1。
2. 将每个参数对象分别用于初始化对应的CAN通道。
3. 在使用CAN通道时,分别使用对应的参数对象。

这样,你就能够同时使用两个CAN通道,并且不会出现覆盖参数的问题。
举报

更多回帖

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