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.

[参考译文] TMS320F28075:对 CAN 寄存器的32位访问与16位访问

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/674904/tms320f28075-32-bit-access-vs-16-bit-access-to-the-can-registers

器件型号:TMS320F28075

大家好

在控制器的参考手册中、您在第21.14节"消息接口寄存器集"中声明:

注意:只允许对 CAN 寄存器进行32位访问、因为16位访问可能不会按进行
预期。

但是在 TI 示例中、只使用16位访问。

什么是正确的?

谢谢 Benjo

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

    您好、Benjo、

    DCAN 可以对 CAN 寄存器进行16位和32位访问。  由于 DCAN 模块总线集成到器  件中的方式、TI 建议使用32位寻址、因为这涉及直接的32位总线事务。   一个16位事务涉及一定的步骤、 为了理解数据流、 必须遵循这些步骤、因为16位访问将始终读取 两个16位字、并且这些字的位顺序会因 地址值而异、这有时会令人困惑。  幸运的是、有一个编译器指令用于此操作、该指令已集成到代码示例中、因此用户不必担心处理32位和16位事务。  请告诉我、这是否能解答您的问题、或者您是否有任何其他疑问。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、感谢您的解释。 然后、在参考手册 SPRUHM9B 中、"只有32位访问[...] 允许的[...]" 可能会让人困惑;)

    谢谢、Benjo