ndt126 发表于 2014-10-11 10:14

CCS3.3 调试错误 error:this declaration has no storage class or type specifier

在用CCS3.3编译程序时出现如下错误:
error: this declaration has no storage class or type specifier
error: declaration is incompatible with "volatile struct PIE_CTRL_REGS PieCtrl" (declared at line 122 of "C:\CCStudio_v3.3\MyProjects\130823 copy copy seam track1111 6 11th\include\DSP28_PieCtrl.h")
error: expected a ";"
该错误提示发生在:PieCtrl.PIEIER1.bit.INTx7=1;
跪求大神指点,谢谢!

NWPU_CHEN 发表于 2014-10-11 11:22

不贴出代码,表示无能为力

wangch_sh 发表于 2014-10-11 11:31

是不是缺少头文件?

ndt126 发表于 2014-10-11 12:13

NWPU_CHEN 发表于 2014-10-11 11:22 static/image/common/back.gif
不贴出代码,表示无能为力

你说的是全部代码吗?这个代码好长的,有两三千行呢

NWPU_CHEN 发表于 2014-10-11 13:02

ndt126 发表于 2014-10-11 12:13 static/image/common/back.gif
你说的是全部代码吗?这个代码好长的,有两三千行呢

相关代码

ndt126 发表于 2014-10-11 13:11

NWPU_CHEN 发表于 2014-10-11 13:02 static/image/common/back.gif
相关代码

void main ( )
{                                                      
   enum key_val   
    {Forward=1,Back,Track,Fix,Light,Spot,PosiNeg,VerHeriz,
       StartP,EndP,Needle,Gun
   };               
   InitSysCtrl( );    // 初始化系统初始化 禁狗 sysclkout=60hspclk=30 lspclk=15
   DINT;
   InitPieCtrl();
   IER=0x0000;
   IFR=0x0000;
   InitPieVectTable();         //初始化pie中断向量   
    InitParameter( );         //标志位
    Initperipheral( ); //ADC,EV,SPI,SCIB,TIMER0,GPIO,MAX7219,CAP1,2,4,5,T1PWM,T2PWM,T3PWM,T4PWM,
    //启动CPU定时器0
   
    First_Initial_MAX7219( );
    InitProcess( );
    for(i = 0; i < 8; i++)//初始化数据变量
    {
            Sci_VarRx = 0;
    }
    i = 0;
    j = 1;
    Send_Flag = 0;
    PieCtrl.PIEIER9.bit.INTx1=1;//使能PIE模块中的SCI接收中断
    PieCtrl.PIEIER9.bit.INTx2=1;//使能PIE模块中的SCI发送中断
    IER|=M_INT9;//开CPU中断
    EINT;//开全局中断
    ERTM;//开全局实时中断
    for(;;)
      {
         //等待中断
        }
}

       PieCtrl.PIEIER1.bit.INTx7=1;
       PieCtrl.PIEIER9.bit.INTx3=1;
            // 调试CAP中断用
       PieCtrl.PIEIER5.bit.INTx5=1;
       PieCtrl.PIEIER5.bit.INTx6=1;
       PieCtrl.PIEIER3.bit.INTx5=1;
       PieCtrl.PIEIER3.bit.INTx6=1;
             // 调试cap中断时,使用,定时开始,存数。。
       EvaRegs.T1CON.bit.TENABLE=1;
       EvbRegs.T3CON.bit.TENABLE=1;
       EvbRegs.T4CON.bit.TENABLE=1;
       EvaRegs.T2CON.bit.TENABLE=1;
问题就显示出现在后面中断那几句

ndt126 发表于 2014-10-11 13:15

本帖最后由 ndt126 于 2014-10-11 13:18 编辑

void main ( )
{                                                      //(一): 定义枚举
   enum key_val   
    {Forward=1,Back,Track,Fix,Light,Spot,PosiNeg,VerHeriz,
       StartP,EndP,Needle,Gun
   };
                     
   InitSysCtrl( );      // 初始化系统初始化 禁狗 sysclkout=60hspclk=30 lspclk=15
                     
    DINT;
    InitPieCtrl();
    IER=0x0000;
    IFR=0x0000;
    InitPieVectTable();          //初始化pie中断向量
   InitParameter( );      
   Initperipheral( );            
   
    First_Initial_MAX7219( );
   InitProcess( );
   for(i = 0; i < 8; i++)//初始化数据变量
    {
            Sci_VarRx = 0;
    }
      i = 0;
      j = 1;
       Send_Flag = 0;
   
    PieCtrl.PIEIER9.bit.INTx1=1;//使能PIE模块中的SCI接收中断
    PieCtrl.PIEIER9.bit.INTx2=1;//使能PIE模块中的SCI发送中断
   
    IER|=M_INT9;//开CPU中断
   
    EINT;//开全局中断
    ERTM;//开全局实时中断
      
      for(;;)
      {
         //等待中断
      }
}
         PieCtrl.PIEIER1.bit.INTx7=1;
         PieCtrl.PIEIER9.bit.INTx3=1;    // 调试CAP中断用
         PieCtrl.PIEIER5.bit.INTx5=1;
         PieCtrl.PIEIER5.bit.INTx6=1;
         PieCtrl.PIEIER3.bit.INTx5=1;
         PieCtrl.PIEIER3.bit.INTx6=1;         // 调试cap中断时,使用,定时开始,存数。。
         EvaRegs.T1CON.bit.TENABLE=1;
         EvbRegs.T3CON.bit.TENABLE=1;
         EvbRegs.T4CON.bit.TENABLE=1;
         EvaRegs.T2CON.bit.TENABLE=1;

NWPU_CHEN 发表于 2014-10-11 14:17

ndt126 发表于 2014-10-11 13:15 static/image/common/back.gif
void main ( )
{                                                      //(一): 定义枚举
   enum ke ...

上边说的3个错误你问的是哪个错误?中间的那个还是最后那个少分号的错误?这段代码没发现错误

ndt126 发表于 2014-10-11 16:31

NWPU_CHEN 发表于 2014-10-11 14:17 static/image/common/back.gif
上边说的3个错误你问的是哪个错误?中间的那个还是最后那个少分号的错误?这段代码没发现错误 ...

第一个错误,这段程序之前运行都是正常的,隔了三个月没动它,今天一运行就这样了

NWPU_CHEN 发表于 2014-10-11 16:45

ndt126 发表于 2014-10-11 16:31 static/image/common/back.gif
第一个错误,这段程序之前运行都是正常的,隔了三个月没动它,今天一运行就这样了 ...

error: this declaration has no storage class or type specifier这个错误在提示在中断使能那几行?这几行都没有声明,就这一个错误?其它错误都解决了?三个月没运行,今天一编译就成这样了?建议你两点:1:如果还有其他错误,这个错误还提示在这几行,那绝对是由于其它错误引起的这个错误,明显这几行代码没有错误,第二个错误引起的可能性极大,重新查看工程文件,主要是你DSP28_PIEctrl.h中的东西,查看头文件完整性,2:换个电脑重新打开试试。目前看来也只能给你这点建议了

aresc 发表于 2014-10-11 21:22

本帖最后由 aresc 于 2014-10-11 21:33 编辑

那个main的结束大括号外面怎么还有程序?还是两段不同的程序只是被你贴在了一起?

之前是好的,那有没有版本控制,比如使用svn, git之类的,有的话,把以前的版本源代码取一个出来,和现在的来个目录比较,应该很容易找出来不同吧。
另外有个建议,以后别用中文注释,万一不小心你敲了一个中文的";",那查起来估计很困难。
页: [1]
查看完整版本: CCS3.3 调试错误 error:this declaration has no storage class or type specifier