标题: keil编译报错error C202: undefined identifier [打印本页]

作者: 网络不安全    时间: 2021-1-7 12:07
标题: 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




作者: 47okey    时间: 2021-1-7 15:44
static int speedleve1;是li,不是1吧
作者: munuc_w    时间: 2021-1-7 15:47
变量的最后一个字符写错了。
作者: 网络不安全    时间: 2021-1-7 18:11
嗯,写错了。谢谢
作者: hcf007    时间: 2021-1-18 18:04
'speedlevel'没有被定义吧,speedleve1写错了,仔细对照一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1