標題: keil編譯報錯error C202: undefined identifier [打印本頁]

作者: 網(wǎng)絡(luò)不安全    時間: 2021-1-7 12:07
標題: keil編譯報錯error C202: undefined identifier
網(wǎng)上找來的代碼,我不懂修改,望大佬幫幫我吧
#include <AT89X51.h>
static unsigned int count; //計數(shù)
static int step_index; //步進索引數(shù),值為0-7
static bit turn; //步進電機轉(zhuǎn)動方向
static bit stop_flag; //步進電機停止標志
static int speedleve1; //步進電機轉(zhuǎn)速參數(shù),數(shù)值越大速度越慢,最小值為1,速度最快
static int spcount;    //步進電機轉(zhuǎn)速參數(shù)計數(shù)
void delay(unsigned int endcount); //延時函數(shù),延時為 endcount*0.5毫秒
void gorun();          //步進電機控制步進函數(shù)
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; //設(shè)定時器0和1為16位模式1  
    ET0 = 1;           //定時器0中斷允許  
    TH0 = 0xFE;
    TL0 = 0x0C;   //設(shè)定時每隔0.5ms中斷一次
    TR0 = 1;         //開始計數(shù)
    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; //設(shè)定時每隔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
變量的最后一個字符寫錯了。
作者: 網(wǎng)絡(luò)不安全    時間: 2021-1-7 18:11
嗯,寫錯了。謝謝
作者: hcf007    時間: 2021-1-18 18:04
'speedlevel'沒有被定義吧,speedleve1寫錯了,仔細對照一下




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1