This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RM57L843:将所有未使用的 CAN 消息对象的 MsgVal 位复位。

Guru**** 2343770 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1478442/rm57l843-reset-the-msgval-bit-of-all-unused-can-message-objects

器件型号:RM57L843
主题中讨论的其他器件:HALCOGEN

工具与软件:

根据 SPNU562A、在初始化期间、在 CAN 控制寄存器中的 INIT 位复位之前、CPU 应该将所有未使用的报文对象的 MsgVal 位复位。

你能否提供一个示例、说明如何在初始化期间复位所有消息对象的 MsgVal 位? 如果您能将代码插入到 HALCOGEN 生成的"canInit"函数中、我将不胜感激。

此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marcio:

    我认为这不是必需的,因为通电后 MsgVal 位的默认值将为零,这也不会在我之前的尝试中造成任何问题。

    这可能是开发人员没有包括清除该位的原因。

    如果您真的想清除此位、那么您可以遵循与 HALCoGen 中相同的代码:

    除了确保在 MsgVal 位中写入0而不是1

    这意味着上面突出显示的0xC0000000U 应为0x00000000U 

    并对消息 RAM 中所有未使用的消息目标重复该循环。

    ——
    谢谢、此致、
    Jagadish。