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的第一行就没问题了,很困惑。 |