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.

[参考译文] CCS/TMS320F28335:HRPWM 数学运算/更新问题

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/613140/ccs-tms320f28335-issues-with-hrpwm-math-operations-update

器件型号:TMS320F28335

工具/软件:Code Composer Studio

您好!

当我尝试   通过 ePWM ISR 更早地更新 CMPAHR 寄存器时、遇到了一些挑战。 每当我尝试运行此子例程时:

_interrupt void ePWM_ISR (void)
{
EPwm4Regs.CMPA.half.CMPA = int (dutycalc*EPwm4Regs.TBPRD);// error 1
EPwm4Regs.CMPA.half.CMPAHR =(modf (dutycalc*EPwm4Regs.TBPRD
);/error 1 EPwm4Regs.TBR = 1.5);/eTCMP=eTCLR =(modift2.5_eM3<eTCMP=eTCMP=eTcr);/eTCLR =) //清除 INT SEQ1位
PieCtrlRegs.PIEACK.all = PIEACK_Group3;//确认 PIE
返回中断;
} 

我收到以下错误消息:

错误:需要表达式

警告:隐式声明函数"modf"

3.错误:表达式必须具有整型

我从 HRPWM 用户指南中得到了前两行。 我曾尝试包括在内 和 . 不管用。 我觉得这是一个小问题,但我一直找不到解决办法。

如果有任何指示、我将不胜感激。 +我正在使用 ccs6

谢谢。

David。

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

    我看到您在这里发布了另一个查询:
    e2e.ti.com/.../613194

    我的理解是、您已经解决了这些构建错误消息、现在调试了 HRPWM 功能。 如果我错了、请纠正我的问题。

    如果此帖子已解决、您可以通过按"此帖子已解决我的问题"来关闭它。

    此致、
    Elizabeth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    顺便说一下、为什么我必须始终使用原型声明才能使用 功能? 我发现,如果我不使用它,我将得到一个警告:隐式声明的函数“floor”。
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    在 C++代码中使用。 您是否尝试过以下操作?

    #include

    此致、
    Elizabeth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯、很酷、效果更好。 但我看到了编译器包含的 cmh、这就是我选择它的原因。 是否还有任何替代方案 因为它实际上不起作用?

    另外、当我在一段时间之前尝试运行一些示例代码时、我无法使其运行、然后我在该论坛上的某个位置看到、在我的配置设置期间取消检查软件包/ti/xDAIS 将解决我的问题、是的、它确实解决了。 我的问题是,在这条线上这样做是否会有任何后果,或是否会有任何令人不愉快的后果?

    ccs6 >> c2000_15.12.3.LTS

    David。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您看到了哪一个显示 cmath 的文档? 如果它是特定于 C2000的、则可能需要对其进行校正。 C28x 编译器主要用于 C 语言、提供最少的 C++支持。
    可能是需要考虑的替代方案。

    此致、
    Elizabeth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不在文档中。 我的意思是、我检查了 ti/ccsv6/tools/compiler/c2000_15.12.3.ls/include 下的 include 文件、我在那里看到了 cmath、这就是我假定允许它的原因。
    总之、我想现在我了解得更好了。
    谢谢。
    David。