打印
[DSP编程]

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

[复制链接]
6623|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ndt126|  楼主 | 2014-10-11 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在用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
不贴出代码,表示无能为力

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

使用特权

评论回复
5
NWPU_CHEN| | 2014-10-11 13:02 | 只看该作者
ndt126 发表于 2014-10-11 12:13
你说的是全部代码吗?这个代码好长的,有两三千行呢

相关代码

使用特权

评论回复
6
ndt126|  楼主 | 2014-10-11 13:11 | 只看该作者
NWPU_CHEN 发表于 2014-10-11 13:02
相关代码

void main ( )
{                                                        
   enum key_val   
    {  Forward=1,Back,Track,Fix,Light,Spot,PosiNeg,VerHeriz,
       StartP,EndP,Needle,Gun
     };                 
     InitSysCtrl( );    // 初始化  系统初始化 禁狗 sysclkout=60  hspclk=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;
问题就显示出现在后面中断那几句

使用特权

评论回复
7
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=60  hspclk=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;

使用特权

评论回复
8
NWPU_CHEN| | 2014-10-11 14:17 | 只看该作者
ndt126 发表于 2014-10-11 13:15
void main ( )
{                                                        //(一): 定义枚举
   enum ke ...

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

使用特权

评论回复
9
ndt126|  楼主 | 2014-10-11 16:31 | 只看该作者
NWPU_CHEN 发表于 2014-10-11 14:17
上边说的3个错误你问的是哪个错误?中间的那个还是最后那个少分号的错误?这段代码没发现错误 ...

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

使用特权

评论回复
10
NWPU_CHEN| | 2014-10-11 16:45 | 只看该作者
ndt126 发表于 2014-10-11 16:31
第一个错误,这段程序之前运行都是正常的,隔了三个月没动它,今天一运行就这样了 ...

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

使用特权

评论回复
11
aresc| | 2014-10-11 21:22 | 只看该作者
本帖最后由 aresc 于 2014-10-11 21:33 编辑

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

之前是好的,那有没有版本控制,比如使用svn, git之类的,有的话,把以前的版本源代码取一个出来,和现在的来个目录比较,应该很容易找出来不同吧。
另外有个建议,以后别用中文注释,万一不小心你敲了一个中文的";",那查起来估计很困难。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

16

帖子

0

粉丝