找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11004|回复: 4
打印 上一主题 下一主题
收起左侧

keil编译报错error C202: undefined identifier

[复制链接]
跳转到指定楼层
楼主
ID:471297 发表于 2021-1-7 12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网上找来的代码,我不懂修改,望大佬帮帮我吧
#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



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:105364 发表于 2021-1-7 15:44 | 只看该作者
static int speedleve1;是li,不是1吧
回复

使用道具 举报

板凳
ID:752974 发表于 2021-1-7 15:47 | 只看该作者
变量的最后一个字符写错了。
回复

使用道具 举报

地板
ID:471297 发表于 2021-1-7 18:11 | 只看该作者
嗯,写错了。谢谢
回复

使用道具 举报

5#
ID:772513 发表于 2021-1-18 18:04 | 只看该作者
'speedlevel'没有被定义吧,speedleve1写错了,仔细对照一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表