哪位大师帮忙看一下啊!一个单片机与读卡器串口卡号识别的程序。编译出错谁帮忙看看错在什么位置上。
#include <reg52.h>
long Password1=111111;//???1
long Password2=222222;//???2
int flag=0,RX_fLAG=0;//???
char Code[ 14]; //???
long Num=0;//???
int serpin=7;//???壨???
int Door=0;
void Read_ID(void)
{
int i=0;
char temp;
for(i=0;(Serial.available()>0);i++)//???
//whil(Serial.available()>0)
{
temp=Serial.read();
Serial.print(temp);
delay(2);
Serial.printn(i);
if(temp0X02) //???λ
{
flag=1;i=0;RX_Flag=0;
}
if(lag1)//???λ,???
{
if(temp0X03)//???
{
flag=0; //???
if(i13) RX_Flag=1;//??13λ???,???1
else RX_Flag=0;
break;
}
Code[i]=temp;
}
}
flag=0://???
}
void pulse( int serpin,int angle)
{
int width;//???
width=(angle*11)+500; //???500-2480???
digitalWrite(serpin,HIGH); //???
delayMicroseconds(width); //???
digitalWrite(serpin,LOW); //???
delay( 20-width/ 1000);
}
void setup()
{
pinMode(13,OUTPUT);
pinMode(serpin,OUTPUT);
Serial.begin(9600);
Serial.printin(“This is a test for access control system”);
delay(100);
Serial.printIn(Password1);
}
void loop()
{
int i;
long temp=0,time=0;
RX_Flag=0;
while(1)
{
Read_ID();
if(RX_Flag1)
{
for(i5;i<11;++)//???6λ???,???
{
Num<<=4;
if(Code[i]>64) Num+=((Code[i])-55);
else Num+=((Code[i])-48);
}
Serial.printin(Num);
}
Serial.printn(Num);
if((NumPassword1)||(NumPassword2))//???
{
digitalWrite( 13,HIGH);
delay(5);
for(int i=0;i<=50;i++)//???
{
pulse(serpin,20);//?? ???庯??
}
delay(2000);
while(analogRead(Door)>400);
delay( 1000);
digitalWrite( 13,LOW);
delay(5);
for(int i=0;i<=50;i++>)//???
{
pulse(serpin, 180);//???庯??
}
}
// else ???//
// {
//digitalWrite(13,LOW);
//for(int i=0;i<=50;i++>)//???
// {
// pulse(serpin,90);//???庯??
//}
//}
while(Serial.read()> 0);//???
RX_Flag=0;//???λ???
Num=0;//???
}
}
单片机通信
最新推荐文章于 2024-08-13 11:09:30 发布