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/TMS320F28377S:TMS320F28377S

Guru**** 2471680 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/818124/ccs-tms320f28377s-tms320f28377s

器件型号:TMS320F28377S

工具/软件:Code Composer Studio

您好!

如何使这行代码正常工作

EPwm7Regs.CMPA.bit.CMPA = sqrt (((double) AdcaResultRegs.ADCRESULT0)/4096); 

非常重要  

EPwm7Regs.CMPA.bit.CMPA 它始终为0并且观察表达式 

sqrt (((double) AdcaResultRegs.ADCRESULT0)/4096)

显示"未知"数据类型和此错误

 在 sqrt (((double)(AdcaResultRegs).ADCRESULT0/4096)未找到'sqrt()')

谢谢 Vadim

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

    您好!

    您可以使用 C2000编译器支持的以下 TMU 内在函数:

      EPwm7Regs.CMPA.bit.CMPA = __sqrt(((float)AdcaResultRegs.ADCRESULT0)/4096);

     


    请确保在编译器选项中启用 TMU 标志。

    如果我的回复回答了您的问题、请点击位于我帖子底部的"我的问题已解决"按钮。

    此致

    Himanshu

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

    您好、Himanshu

    它没有解决这个问题、它仍然相同、观察表达式为我提供了相同的错误

    __sqrt (((float) AdcaResultRegs.ADCRESULT0)/4096);在__sqrt ((((float)(AdcaResultRegs).ADCRESULT0/4096)找不到未知的'_sqrt ()
    

    我在编译器选项 tmu0中具有 TMU 支持

    谢谢 Vadim

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

    您好!

    C2000编译器支持此内在函数,因此 CCS 监视窗口将无法识别“__sqrt ()”关键字,我建议您在代码中使用此函数并将其存储在某些变量中,比如“temp”。 然后在"Expressions"窗口中观察"temp"。

     温度=  __sqrt(((float)AdcaResultRegs.ADCRESULT0)/4096);

     

    如果我的回复回答了您的问题、请点击位于我帖子底部的"我的问题已解决"按钮。

    此致

    Himanshu