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.
您好!
我对 InstaSPIN 项目和实验室有疑问。
具体而言、它位于 Lab10c-an 中的空间矢量调制示例中、使用 fpu32。
我对 user.c 文件有一些问题、如下所示。
----------------------------------------------------
第一 个问题。
在 user.c 文件中、列出了以下#ifdef 语句:
#ifdef __TMS320C28XX_FPU32__
似乎已在项目中的某个位置定义了__TMS320C28XX_FPU32__的符号,因为此行旁边的 C 语句已声明有效。
但是、我无法找到定义符号__TMS320C28XX_FPU32__的位置 。
此外、该符号不会列在 Project Properties 的 Predefined Symbols 窗口中。
符号__TMS320C28XX_FPU32__在哪里定义?
第二个问题
在 user.c 文件中进行了如下说明:
//调用返回浮点值的 EST_functions 且启用了 fpu32时、需要使用整数作为返回值
//以便编译器从累加器而不是 fpu32寄存器读取返回值
如果编译器从 fpu32寄存器读取返回的值、会出现什么问题?
第三个问题
user.c 文件中列出了以下 C 语句
其他
LS_d = EST_getLs_d_h (obj->estHandle);
LS_q = EST_getLs_q_H (obj->estHandle);
Rs = EST_getRs_Ohm (obj->estHandle);
#endif
在这种情况下、编译器似乎从 fpu32寄存器读取返回的值。 不是吗?
例如,文件 est.h 中给出了函数 EST_getLs_d_d_H ()的原型,如下所示:
extern float_t EST_getLs_d_h (EST_Handle handle);
----------------------------------------------------
感谢您的指导。
此致、
JS Yoo
1. 如果在工程属性中启用了 fpu32 (--float_support=fpu32)、则_TMS320C28XX_FPU32__由 C2000编译器自动设置。
2.不同的 FAST 库用于浮点、因此需要进行此转换。
从 Q2开始、这是来自 FAST 库的。