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:无法写入 EPWMx CMPA 寄存器的最后2个字节?

Guru**** 2462060 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1502205/tms320f28035-unable-to-write-to-the-last-2-bytes-of-epwmx-cmpa-register

器件型号:TMS320F28035

工具/软件:

您好、我的 F28035微控制器配置为向上/向下 PWM 模式、但似乎无法向 epwm1、epwm2或 epwm3的 CMPA 寄存器的两个最低有效位写入数据

例如、如果我写入、

EPwm1Regs.CMPA.ALL = 0xFFFFFFFF;

在调试器中、我获得 CMPA 的寄存器值为0xFFFFFF00、其中两个最低有效位被丢弃。  

如果 我尝试写入、

EPwm1Regs.CMPA.HALF.CMPA = 1500;

在调试器中、 我获得 CMPA 的寄存器值 为 0x05DC0000

同样、如果我写入、

EPwm1Regs.CMPA.HALF.CMPA = 0xFFFFFFFF;

在调试器中、 我获得 CMPA 的寄存器值为 0xFFFF0000

最后两个数据点似乎表明、出于某种原因、使用了4个最高有效位、而不是4个最低有效位。

这一切的结果是、当我认为理论上应该是这样时、没有得到示波器测得的任何 PWM 输出。 我可能还有其他问题、但这正是我最初的故障诊断指引我的方向

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

    您好、Stuart、

    低16位用于 CMPAHR 寄存器、而高16位用于 CMPA 寄存器。 两个最低有效位被标记为保留、将读取0。

    此致、

    Ryan Ma