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.

修改TI 给的335程序时 编译报错!



各位大侠我需要对28335 TI给的例程中SVGENDQ_MACRO(svgen1)这个宏命令进行一些修改,需要添加一个变量tmp0  在里面添加完后,编译时报错 说未声明!

我就不明白了 我明明已经声明了啊 为什么程序还是说未声明呢? 

 

#ifndef __SVGEN_H__ #define __SVGEN_H__

typedef struct  {

_iq  Ualpha;    // Input: reference alpha-axis phase voltage      

 _iq  Ubeta;   // Input: reference beta-axis phase voltage      

 _iq  Ta;    // Output: reference phase-a switching function        

_iq  Tb;    // Output: reference phase-b switching function      

 _iq  Tc;    // Output: reference phase-c switching function      

_iq  tmp1;   // Variable: temp variable      

_iq  tmp0;      

_iq  tmp2;   // Variable: temp variable      

_iq  tmp3;   // Variable: temp variable    

 Uint16 VecSector;  // Space vector sector     } SVGEN;

 

报错为“:

#20 identifier "tmp0" is undefined

  • freq,

    这个tmp0是在你的源程序中报错的吗?

    你修改头文件后,要保存头文件,然后rebuild工程。有时候修改头文件后,CCS没有自动进行保存编译。

    另外确认源文件中包含这个头文件。

    Eric

  • 嗯  我这个tmp0 是在宏命令svgen.h的文件里添加的! 在TI给的例程HVACI_Sensorless_2833x项目里  我编译的时候是HVACI_Sensorless.c 这个文件报错! 这个.c是需要调用这个.h的  但是.h 没报错 .c报错了  目前就这一个错误! 让我不知道怎么办  不太会编程  都是 照葫芦画瓢.....呵呵

  • fred

    头文件修改后要保存,然后在rebuild,再确认那个源文件有包括这个头文件。且有这个结构的生命。如果之前这个源文件中也有这个structure中的一些变量,而且还没报错,那你这么添加也是没有错的。

    Eric