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.

[参考译文] TMS320F28P650DH:CLA 中的 fminf/fmaxf 函数

Guru**** 2614205 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1569301/tms320f28p650dh-fminf-fmaxf-functions-in-cla

器件型号:TMS320F28P650DH
主题:C2000WARE 中讨论的其他器件

工具/软件:

尊敬的专家:

我正在向我的客户询问。  

在 CLA 中、使用 fminf/fmaxf 函数会触发警告、但不会导致错误、并且该功能似乎正常工作:

 “E:/workspace/git/1-215/dsp/KL_PCS_F28P65x_cpu1 /max/module/control/INV/MBD/PWM_Gen/PWM_Gen.h“ src、 358 行:警告#225-D:函数“fminf"隐“隐 src  式声明“E:/workspace/git/1-215/dsp/KL_PCS_F28P65x_cpu1 /maxf/module/control/INV/MBD/PWM_Gen/PWM_Gen.h“、第 721 行:警告#225-D:隐式声明的函数“fmaxf"</s>“

我尝试添加预处理器指令、如图 1 所示、但警告仍然存在。

编译器配置如图 2 所示。

如何解决这些警告? 此外、我担心这些警告在某些情况下可能会导致问题。 我希望得到官方的解释。 谢谢!

此致、

Dean

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

    尊敬的 Dean:

    我正在查看您的查询、并将很快回复。

    此致、

    Ozino

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

    请问在这个问题上是否有任何进展? 我真诚地希望能找到一个解决办法。 非常感谢。

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

    尊敬的 Dean:

    感谢您的耐心。 您似乎需要一个 CLAmath 库的#include 来访问这些函数。 请参阅下面的屏幕截图、了解如何执行此操作。

    此致、

    Ozino

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

    嗨、Ozino、感谢您的回复。 这种方法确实消除了警告、但我注意到 CCS 实际上可以识别 #ifndef __TMS320C28XX_CLA__ #include <math.h>。 但是,我的函数被确认在 CLA 中运行,因此它应该包含 <CLAmath.h> 而不是 <math.h>。 这不会在实际执行过程中引起问题吗?

    #ifndef PWM_Gen_h_
    #define PWM_Gen_h_
    #ifndef PWM_Gen_COMMON_INCLUDES_
    #define PWM_Gen_COMMON_INCLUDES_
    #include "rtwtypes.h"
    #endif                                 /* PWM_Gen_COMMON_INCLUDES_ */
    
    #include <stddef.h>
    #include "PWM_Gen_types.h"
    
    #ifndef __TMS320C28XX_CLA__
    #include <math.h>
    #else
    #include <CLAmath.h>
    #endif
    
    void MW_InitSysPll(uint16_T clock_source, uint16_T imult, uint32_T refdiv,
                       uint32_T odiv, uint16_T divsel, uint32_T dccbase);
    
    /* user code (top of header file) */
    /* Model 'PWM_Gen' */
    #include "params_TaskINVControl.h"
    #include "signal_io_TaskINVControl.h"
    #include "PWM_Gen_private.h"
    
    
    
    
    //Step function moved from c file
    #if CLA_ENABLE
    #pragma CODE_SECTION(PWM_Gen,"Cla1Prog")
    #endif 
    /* Output and update for referenced model: 'PWM_Gen' */
    static inline void PWM_Gen(void)
    {
        ......
        fmax...used here
        fmin...used here
        
    }

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

    尊敬的 Dean:  

    对于由于在 CLA 上运行的任何文件、该函数不应导致任何问题。 您可以参考我们的 C2000Ware 和 DigitalPower SDK 示例、以了解运行代码对 CLA 的影响。

    此致、

    Ozino