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.

[参考译文] TMS320F28035:寄存器需要使用32位访问和16位字访问进行读取/写入、而不是使用位级访问?

Guru**** 2590580 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666977/tms320f28035-register-requires-read-write-using-32-bit-access-and-16-bit-word-access-rather-than-bit-level-accessed

器件型号:TMS320F28035

尊敬的香槟:

 我们注意到、eCAN 控制寄存器需要使用32位访问进行读取/写入。

但是、我们的客户 担心 并想知道使用代码中的位存取或字存取可以存取什么寄存器?

也就是说、我们何时可以  这样编写代码:

ECANaRegs.CANME.bit.ME0 = 1;

(我们在 CCS 监视窗口"Expressions"中发现这不正确)

我们应在何时 以 这种方式编写它:

EcanaRegs.CANME.ALL = 0x0007003F;

我们感到困惑。

是否有任何相关文档?

这只是 eCAN 寄存器中的一个特殊情况吗?

我们想知道这是如何应用于所有寄存器(不限于 eCAN)的。

韦恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    韦恩、
    正如 SPRUGL7的第1.3.2.1节(第15页)中明确解释的那样、eCAN 控制和状态寄存器只允许32位访问。 至于何时访问单个位或全部32位完全取决于应用需求。 请参阅我的 app.note SPRA876中的示例、其中显示了这两种方法。

    在这个器件上、这个限制只适用于 eCAN 模块。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hareesh、

    感谢您的确认。

    韦恩