打印
[ZLG-ARM]

定义变量的问题。

[复制链接]
4042|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxpkyo|  楼主 | 2008-4-26 18:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IO, se, AI, TE, ui
Error   : (Serious) C2292E: typedef name 'uint32' used in expression context
main.c line 57   

Error   : (Serious) C2284E: expected ';' after command - inserted before 'j'
main.c line 57   

Error   : C2456E: undeclared name, inventing 'extern int j'
main.c line 57   

Warning : C2917W: no side effect in void context: 'j'
main.c line 57   

D:\arm_test\work\src\main.c: 1 warning, 1 error, 2 serious errors

请问这是什么错误?源码如下
#include "config.h"
#define  LEDCON 0xf0000000
#define  BEEPCON 1<<7
const uint32 DISP_TAB[4]={0x1fffffff,0x2fffffff,0x4fffffff,0x8fffffff};
/**********************延时*****************************************************************************/
void DelayNS(uint32 dly)
{
  uint32  i;
  for(;dly>0;dly--)
    {
     for(i=0;i<500;i++);
    }
}
/******************************初始化定时器*************************************************************/
void Time0Init(void)
{
  T0PR=99;
  T0MCR=0x03;
  T0MR0=110592;
  T0TCR=0x03;
  T0TCR=0x01;
}
/******************************主函数******************************************************************/
int main(void)
{
         
    PINSEL0=0x00000000;
    IO0DIR=BEEPCON;   /*****************配置P0.7为输入************************************/
    IO2DIR=LEDCON;    /*****************配置4个LED为输入**********************************/
    Time0Init();      /*****************初始化定时器0************************************/
    IO0SET=BEEPCON;   /*****************配置P0.7为高电平*********************************/
    IO2SET=LEDCON;    /*****************配置LED,使其不亮********************************/  
    uint32  j;
    
    while(1)
    {
        for(j=0;j<60;j++)                 
        {
                while((T0IR&0x01)==0) 
                    T0IR=0x01;
                IO2CLR=DISP_TAB[j%4];    
                DelayNS(2);
                IO2SET=0xffffffff;        
            }                        
        for(j=0;j<5;j++)                
            {
                while((T0IR&0x01)==0)
                    T0IR=0x01;
                IO2CLR=0xffffffff;        
                IO0CLR=BEEPCON;
                DelayNS(2);
                IO2SET=0xffffffff;
                IO0SET=BEEPCON;         
            }
    }
return(0);
}
如果我把main函数里的uint32 j;放到main的第一行就没问题了,很困惑。

相关帖子

沙发
computer00| | 2008-4-26 19:36 | 只看该作者

变量定义,普通的C只能放在函数开始,C++才可以放后面

使用特权

评论回复
板凳
zxpkyo|  楼主 | 2008-4-26 22:16 | 只看该作者

变量问题

受教了。。多谢。.                     

使用特权

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

本版积分规则

5

主题

6

帖子

0

粉丝