找回密码
 立即注册

QQ登录

只需一步,快速开始

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

789.C(275): error C202: 'time': undefined identifier出现这种情况是怎么回事

[复制链接]
跳转到指定楼层
楼主
ID:730519 发表于 2020-4-16 14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define THC0 0xf9
#define TLC0 0x0f //2ms
unsigned char code Duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//????????????0-9?????;
unsigned char Data_Buffer[8]={0,0,0,0,0,0,0,0};//???????
uchar i=0;
sbit AddSpeed=P1^1;
sbit SubSpeed=P1^2;
sbit PWM_FC=P1^0;
int e,e1,e2;
float uk,uk1,duk;//pid#?4W
float Kp=10,Ki=12,Kd=1.6;
int out=0;
uint SpeedSet=380;
uint cnt=0;
uint Inpluse=0,num=0;//Hk>#i+#l
uint PWMTime=100;//??????
unsigned char arry[];
void SendString(uint ch);
void PIDControl();
void Systemlnit();
void delay(uchar x);
void PWMOUT();
void SetSpeed();
void SegRefre();
void main()
{
Systemlnit();
while(1)
{
SetSpeed();
SegRefre();
PWMOUT();
}
}
void PIDControl()//pid??????
{
e=SpeedSet-num;//???=?趨?-1s??

duk=(Kp*(e-e1)+Ki*e+Kd*(e-2*e1+e2))/50;//?????PID???/50 ???duk??????С????
uk=uk1+duk;
out=(int)uk; //????????
if(out>1000)
{
out=1000;
}
else if(out<0)
{
out=0;
}
uk1=uk;//???????λ
e2=e1;
e1=e;
PWMTime=out;
}
void delay( uchar x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=50;j>0;j--);
}
void PWMOUT()
{
if(cnt<PWMTime)
{
PWM_FC=1;
}
else
{
PWM_FC=0;
}
if(cnt>1000) cnt=0;
}
void Systemlnit()
{
TMOD=0x21;
TH0=THC0;
TL0=TLC0;
TH1=0xC0;
TL1=0XC0;
ET1=1;
ET0=1;
TR0=1;
TR1=1;
EX0=1; //?ж?0?? ?????????
IT0=1;
EA=1;
e=0;//????????
e1=0;
e2=0;
}
void SetSpeed()
{
if(AddSpeed==0)
{
delay(200);//????????
if(AddSpeed==0)
{
SpeedSet+=10;
if(SpeedSet>1500)
{
SpeedSet=1500;
}
}
}
if(SubSpeed==0)
{
delay(200);
if(SubSpeed==0)
{
SpeedSet-=10;
if(SpeedSet<0) SpeedSet=0;
}
}
}
void SegRefre()//??????
{
Data_Buffer[0]=SpeedSet/1000;
Data_Buffer[1]=SpeedSet%1000/100;
Data_Buffer[2]=SpeedSet%100/10;
Data_Buffer[3]=SpeedSet%10;
Data_Buffer[4]=num/1000;
Data_Buffer[5]=num%1000/100;
Data_Buffer[6]=num%100/10;
Data_Buffer[7]=num%10;
}
voidint0()interrupt 0
{
Inpluse++;//?????????
}
void int0() interrupt 0
{
static unsigned char Bit=0;
TH0=THC0;
TL0=TLC0;
Bit++;
time++; //??????????
if(Bit>8) Bit=0;
P0=0xff;
P2=Duan[Data_ .Buffer[Bit]]; // ???????
switch(Bit)//?????λ?
{
case 0:P0=0X7F;break;
case 1:P0=0XBF;break;
case 2:P0=0XDF;break;
case 3:P0=0XEF;break;
case 4:P0=0XF7;break;
case 5:P0=0XFB;break;
case 6:P0=0XFD;break;
case 7:P0=0XFE;break;
}
if (time>100)
{
time=0;
num=lnpluse*5;//???1s?????????
Inpluse=0;
PIDControl();//????PID???????PWM
}
}
void timer_1() interrupt 3
{
cnt++; //cnt??? ???????2.5Khz}
}


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

使用道具 举报

沙发
ID:730519 发表于 2020-4-16 14:03 | 只看该作者
compiling 789.c...
789.C(275): error C202: 'time': undefined identifier
789.C(305): error C202: 'time': undefined identifier
789.C(309): error C202: 'time': undefined identifier
789.C(311): error C202: 'lnpluse': undefined identifier
789.c - 4 Error(s), 0 Warning(s).
问题有点多  一下午看不出来
回复

使用道具 举报

板凳
ID:452950 发表于 2020-4-16 15:15 | 只看该作者
time和Inpluse未定义
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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