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.

[参考译文] TMS320F2.8377万D:PWM读取GLDCTL.bit.GLDMODE:两个连续读取差值

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/621633/tms320f28377d-pwm-reading-gldctl-bit-gldmode-two-consecutive-read-differnet-values

部件号:TMS320F2.8377万D

大家好,  

我使用PWM ,有时  需要 强制它们降低,读取所有值最终进行一些修改,然后使它们 恢复工作。

现在 ,我发现 了由于“未输出的值”而导致的问题 ,特别是 在GLDCTL.bit.GLDMODE中。  

通过深入了解这个问题,我发现连续两次读取此寄存器,都给了我 两个不同的结果 (调试和实时运行):

这是我用于 进行双重读取的代码:

read1 = pwm_regs(phone_U)->GLDCTL.bit.GLDMODE;
read2 = pwm_regs(phone_U)->GLDCTL.bit.GLDMODE;

我还尝试将相同的延迟设置在 (最长为微秒)和同样 的问题之间。

我错在哪里? 您会推荐什么?

非常感谢  

此致

卡洛

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

    您好,Carlo,

    我们将尽快调查并回复您。 我对拖延表示歉意。 由于哈维飓风造成的恶劣天气,我们的工厂本周已关闭。

    此致,
    伊丽莎白

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

    您好,Carlo,

    仅需确认,read1和read2不相等,即使执行了以下操作?

    read1 = pwm_regs(phone_U)->GLDCTL.bit.GLDMODE;
    ASM ("   NOP");
    ASM ("   NOP");
    ASM ("   NOP");
    ASM ("   NOP");
    read2 = pwm_regs(phone_U)->GLDCTL.bit.GLDMODE;


    谢谢!
    Brett