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:对 Clarke 有疑问

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/673015/ccs-tms320f28377s-doubt-regarding-clarke

器件型号:TMS320F28377S

工具/软件:Code Composer Studio

我尝试使用 Clarke 变换。这些是我所做的初始化

clarke1.As = 1.0L;

clarke1.Bs=50.1L;

clarke1.cs=-51.0L;

Clarke_macro (clarke1);

 但是 当我运行代码时、我发现这些值是浮动的。是否有一种方法可以做到没有地板

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

    请确保您使用的是 Clarke 模块的浮点版本、  

    正如我在观察窗口中看到的、你有"long"、这意味着库的定点版本正在被使用。

    要使用浮点版本、请确保将数学类型定义为浮点  

    如果您转到项目所引用的 IQmath.h 头文件、您将找到以下内容

    #define FLOAT_MATH 1.
    #define IQ_Math 0

    #ifndef MATH_TYPE
    #define MATH_TYPE IQ_MATH
    #endif

    要使用浮点数学运算、您可以编辑此文件并 使用

    #ifndef MATH_TYPE
    #define MATH_TYPE FLOAT_MATH
    #endif

    在包含 IQmath.h 之前、请定义 Math 类型  

    #define MATH_TYPE 1

    #include "IQmathLib.h"