📄 mmm.c
字号:
case 0x92:
SerBuffer[1] = 0;
SerBuffer[2] = 0;
break;
case 0x93:
SerBuffer[1] = 0;
SerBuffer[2] = 0;
break;
default:
SerBuffer[1] = 250; //command error
SerBuffer[2] = 0;
break;
};
}
//**************************************************************************
void main(void)
{
unsigned int xx=0;
unsigned char idata i=0,j,ttt,uuu;
unsigned long idata yyy=0;
TX_EN=0;
Test_led=0;
Delay100ms(1);
Test_led=1;
TX_EN=1;
init_com();
InitREG();
UartInit();
Delay100ms(1);
Comm_Off();
PWR_UP=1;
Watch_dog();
EA=1;
Init_X25045(0x00);
ByteWrite_Check (22,0X34);
if( ByteRead_Check (22)==0x34)//测试25045
{ Test_led=!Test_led;
Delay100ms(10);
Test_led=!Test_led;
}
if((ByteRead_Check(20)==0x00)||(ByteRead_Check(20)==0xff))ADDR=0XD2;
else
ADDR=ByteRead_Check(20);
// ADDR=0xd2;
if(ADDR%2)
{
CS=0;
}
else
{
CS=1;
}
for(i=0;i<4;i++)//clear
{
for(j=0;j<16;j++)
RemainRec[i][j]=0;
}
while(1)
{
Watch_dog();
if (Cmdok) //通讯
{
Cmdok = FALSE;
Waring=0; //报警清掉
RecvReady = FALSE;
SendReady = FALSE;
cmd_execution();
SendReady = TRUE ; //发起始字
TI = 1;
}
for(i=1;i<150;i++)
{
Watch_dog();
if (Cmdok) //通讯
{
Cmdok = FALSE;
RecvReady = FALSE;
SendReady = FALSE;
cmd_execution();
SendReady = TRUE ; //发起始字
TI = 1;
Test_led=!Test_led;
Watch_dog();
}
Watch_dog();
ttt=Find(i);
Watch_dog();
if(ttt==0)
{
ttt=Find(i);
if(ttt)
{
Watch_dog();
Card_id[i]=4;//循环监测的次数
if((i%4)==0)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x01;
uuu=uuu&0xfd;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x02;
uuu=uuu&0xfe;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
if((i%4)==1)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x04;
uuu=uuu&0xf7;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x08;
uuu=uuu&0xfb;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
if((i%4)==2)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x10;
uuu=uuu&0xdf;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x20;
uuu=uuu&0xef;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
if((i%4)==3)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x40;
uuu=uuu&0x7f;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x80;
uuu=uuu&0xbf;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
Test_led=!Test_led;//在区域
}
else //不再区域
{
Watch_dog();
if((i%4)==0)
{
uuu=RemainRec[i/64][(i%64)/4];
if(uuu&0x03) //如果原来就存在
{
ttt=Find(i); //再次查找
if(ttt==0)
{
Card_id[i]--;
if( Card_id[i]==0)
{
uuu=uuu&0xfc;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
else //原来就不在
{
if(!Waring) //没有报警信息
{
uuu=uuu&0xfc; //清零
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
if((i%4)==1)
{
uuu=RemainRec[i/64][(i%64)/4];
if(uuu&0x0c)
{
ttt=Find(i); //再次查找
if(ttt==0)
{ Card_id[i]--;
if( Card_id[i]==0)
{
uuu=uuu&0xf3;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
else
{
if(!Waring) //没有报警信息
{
uuu=uuu&0xf3;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
if((i%4)==2)
{
Watch_dog();
uuu=RemainRec[i/64][(i%64)/4];
if(uuu&0x30)
{
ttt=Find(i); //再次查找
if(ttt==0)
{ Card_id[i]--;
if( Card_id[i]==0)
{
uuu=uuu&0xcf;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
else
{
if(!Waring) //没有报警信息
{
uuu=uuu&0xcf;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
if((i%4)==3)
{
Watch_dog();
uuu=RemainRec[i/64][(i%64)/4];
if(uuu&0xc0)
{
ttt=Find(i); //再次查找
if(ttt==0)
{ Card_id[i]--;
if( Card_id[i]==0)
{
uuu=uuu&0x3f;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
else
{
if(!Waring) //没有报警信息
{
uuu=uuu&0x3f;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
}
}
}
else
{
Watch_dog();
Card_id[i]=4;//循环监测的次数
if((i%4)==0)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x01;
uuu=uuu&0xfd;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x02;
uuu=uuu&0xfe;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
if((i%4)==1)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x04;
uuu=uuu&0xf7;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x08;
uuu=uuu&0xfb;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
if((i%4)==2)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x10;
uuu=uuu&0xdf;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x20;
uuu=uuu&0xef;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
if((i%4)==3)
{
if(ttt==0x01)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x40;
uuu=uuu&0x7f;
RemainRec[i/64][(i%64)/4]=uuu;
}
if(ttt==0x02)
{
uuu=RemainRec[i/64][(i%64)/4];
uuu=uuu|0x80;
uuu=uuu&0xbf;
RemainRec[i/64][(i%64)/4]=uuu;
}
}
Test_led=!Test_led;
Watch_dog();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -