keil编译报错error C202: undefined identifier

keil编译报错error C202: undefined identifier,网上找来的代码,我不懂修改,望大佬帮帮我吧 #include <AT89X51.h> …

keil编译报错error C202: undefined identifier,网上找来的代码,我不懂修改,望大佬帮帮我吧
#include <AT89X51.h>
static unsigned int count; //计数
static int step_index; //步进索引数,值为0-7
static bit turn; //步进电机转动方向
static bit stop_flag; //步进电机停止标志
static int speedleve1; //步进电机转速参数,数值越大速度越慢,最小值为1,速度最快
static int spcount;    //步进电机转速参数计数
void delay(unsigned int endcount); //延时函数,延时为 endcount*0.5毫秒
void gorun();          //步进电机控制步进函数
void main(void)
{
    count = 0;
    step_index = 0;
    spcount = 0;
    stop_flag = 0;
    P1_0 = 0;
    P1_1 = 0;
    P1_2 = 0;
    P1_3 = 0;
    EA = 1;             //允许CPU中断  
    TMOD = 0x11; //设定时器0和1为16位模式1  
    ET0 = 1;           //定时器0中断允许  
    TH0 = 0xFE;
    TL0 = 0x0C;   //设定时每隔0.5ms中断一次
    TR0 = 1;         //开始计数
    turn = 0;
    speedlevel = 2;
    delay(10000);
    speedlevel = 1;
    do{
        speedlevel = 2;
        delay(10000);
        speedlevel = 1;
        delay(10000);
        stop_flag=1;
        delay(10000);
        stop_flag=0;
    }while(1);
}

//定时器0中断处理  

void timeint(void) interrupt 1
{  
    TH0=0xFE;
    TL0=0x0C; //设定时每隔0.5ms中断一次
    count++;
    spcount–;
    if(spcount<=0)
    {
       spcount = speedlevel;
       gorun();
    }
}
void delay(unsigned int endcount)
{
    count=0;
    do{}while(count<endcount);

}

void gorun()

{    if (stop_flag==1)
    {
       P1_0 = 0;
       P1_1 = 0;
       P1_2 = 0;
       P1_3 = 0;
       return;
}
switch(step_index)
{
case 0: //0
    P1_0 = 1;
    P1_1 = 0;
    P1_2 = 0;
    P1_3 = 0;
    break;
case 1: //0、1
    P1_0 = 1;
    P1_1 = 1;
    P1_2 = 0;
    P1_3 = 0;
    break;
case 2: //1
    P1_0 = 0;
    P1_1 = 1;
    P1_2 = 0;
    P1_3 = 0;
    break;
case 3: //1、2
    P1_0 = 0;
    P1_1 = 1;
    P1_2 = 1;
    P1_3 = 0;
    break;
case 4:  //2
    P1_0 = 0;
    P1_1 = 0;
    P1_2 = 1;
    P1_3 = 0;
    break;
case 5: //2、3
    P1_0 = 0;
    P1_1 = 0;
    P1_2 = 1;
    P1_3 = 1;
    break;
case 6: //3
    P1_0 = 0;
    P1_1 = 0;
    P1_2 = 0;
    P1_3 = 1;
    break;
case 7: //3、0
    P1_0 = 1;
    P1_1 = 0;
    P1_2 = 0;
    P1_3 = 1;
}
if (turn==0)
{
   step_index++;
   if (step_index>7)
     step_index=0;
}
else
{
   step_index–;
   if (step_index<0)
     step_index=7;
}
  }

报错提示
89C52.C(27): error C202: ‘speedlevel’: undefined identifier

,static int speedleve1;是li,不是1吧,变量的最后一个字符写错了。,嗯,写错了。谢谢,’speedlevel’没有被定义吧,speedleve1写错了,仔细对照一下

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115