⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 ZLG500的应用软件
💻 C
字号:
#define	main_GLOBALS
#include "main.h"
#include "UART.h"
#include "delay.h"
#include "zlg500c.h"

static void main_init();
INT8U DataBfr[16];
INT8U Card_Snr[4];

main()
{
	INT8U Test_Code = 2;
	main_init();
	
	SlvAddr = 1;
	
	while(1)
	{
		if(Test_Code == 0)
		{
			GetDvcSnr(DataBfr);
			SetSlvAddr(1,DataBfr);
			GetSlvAddr(&SlvAddr,DataBfr);
			BaudNum = 7;
			SetBaud(BaudNum);
			DataBfr[0] = 0;
			DataBfr[1] = 0;
			FindSlv(1,16,DataBfr,DataBfr+1);
		}
		if(Test_Code == 1)
		{
			GetDvcInfo(DataBfr);
			PCDClose();
			PCDConfig();
			DataBfr[0] = 0xff;
			DataBfr[1] = 0xff;
			DataBfr[2] = 0xff;
			DataBfr[3] = 0xff;
			DataBfr[4] = 0xff;
			DataBfr[5] = 0xff;
			PCDLoadKey(KEYA,0,DataBfr);
			PCDWriteReg(0x11,0x5b);
			PCDReadReg(0x12,DataBfr);
			DvcReadIO(DataBfr);
			DvcClearIO(0x03,50);
			DvcSetIO(0x0f,0);
			DvcSurgeIO(0x03,0x00,0x03,50,50,25,15,3);
			DvcSetAutoDctct(ISO14443A,REQALL,0x03,0,0);
		}
		if(Test_Code == 2)
		{
			if(PiccRequest(REQSTD,DataBfr)!=OK)	continue;
			if(PiccAnticoll(SELCODE1,0,Card_Snr)!=OK)	continue;
			if(PiccSelect(SELCODE1,Card_Snr,DataBfr)!=OK)	continue;
			if(PiccAuthE2(KEYA,Card_Snr,0,4)!=OK)	continue;
			if(PiccRead(4,DataBfr)!=OK)	continue;
			DataBfr[0] = 0x10;	DataBfr[4] = 0xef;	DataBfr[8] = 0x10;
			DataBfr[1] = 0x0;	DataBfr[5] = 0xff;	DataBfr[9] = 0x0;
			DataBfr[2] = 0x0;	DataBfr[6] = 0xff;	DataBfr[10] = 0x0;
			DataBfr[3] = 0x0;	DataBfr[7] = 0xff;	DataBfr[11] = 0x0;
			DataBfr[12] = 0x04;	DataBfr[13] = 0xfb;	DataBfr[14] = 0x04;	DataBfr[15] = 0xfb;
			if(PiccWrite(4,DataBfr)!=OK)	continue;
			DataBfr[0] = 0x0;
			if(PiccRead(4,DataBfr)!=OK)		continue;
			DataBfr[0] = 0x01;
			DataBfr[1] = 0x0;
			DataBfr[2] = 0x0;
			DataBfr[3] = 0x0;
			if(PiccValue(DECREMENT,4,DataBfr,5)!=OK)	continue;
			if(PiccValue(INCREMENT,4,DataBfr,6)!=OK)	continue;
			if(PiccRead(5,DataBfr)!=OK)		continue;
			if(PiccRead(6,DataBfr)!=OK)		continue;
			PiccHalt();
			DvcSurgeIO(0x03,0x00,0x03,50,50,25,15,3);
		}
	}
}

void main_init()
{
	
	//单片机内部资源初始化
	T2_timeout_init(RCAP2_5ms);
	UART_Init();	//串行口
	//中断
	EA = 1;

}



void memcopy(INT8U *DBfr,INT8U *SBfr,INT8U Len)
{
	INT8U i;

	for(i=0;i<Len;i++)
	{
		DBfr[i] = SBfr[i];
	}
}

#if memcomp_en
INT8S memcomp(INT8U *DBfr,INT8U *SBfr,INT8U Len)
{
	INT8U i;

	for(i=0;i<Len;i++)
	{
		if(DBfr[i] > SBfr[i])
			return 1;
		if(DBfr[i] < SBfr[i])
			return -1;
	}
	return 0;
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -