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.

[参考译文] TMS320C28341:错误的加法结果

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1328603/tms320c28341-wrong-addition-result

器件型号:TMS320C28341

我正在尝试通过 TMS320C28027使用 PWM 来控制器件、由于没有此器件型号、我选择28341、我认为他们应该是面带微笑、在下面的代码中、我得到了行" int pwmval=32000+pi;"中 pwmval 参数的错误结果。 代码:

   int error=(* setval_pos-(Uint16) ECap1Regs.CAP1);
   如果(abs (error)<1000)
   {
       EPwm3Regs.CMPA.half.CMPA=32000;
   }
   否则
   {
       int32 pi=2*错误;
       int pwmval=32000+pi;
       if (pwmval<0xFFFF && pwmval>0)
       EPwm3Regs.CMPA.half.CMPA=(uint16) pwmval;

我测试了"int32 pwmval=32000+pi"、但没有成功。

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

    我解决了问题、用"long int"替换了"int32"、问题已经解决了。