亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? zlg500s.c

?? 這個(gè)是一個(gè)帶有IC卡
?? C
字號(hào):
#define Zlg500S_GLOBALS
#include "config.h"
#include "Zlg500S.h"
#include "zlg500S_comm.h"

static void memcopy(INT8U *DBfr,INT8U *SBfr,INT8U Len);
static INT8U SEQ = 0xf0;	//包號(hào),見通信協(xié)議

INT8U Zlg500S_Cmd()
{
	INT8U Status;
	
	SEQ += 0x10;
	SerBfr[CMDTYPE] |= SEQ;		//命令類型與包號(hào)組成一個(gè)字節(jié)
	
	Status = Ser_Send();

	if(!Status)	
		return COMMERR;
		
	WaitRespDly = ZLG500S_DELAY_500ms;		//延時(shí)500ms
	
	
	while(WaitRespDly)		//等待響應(yīng)
	{
		if(Ser_Rcv())
			break;
		
	}

	if(WaitRespDly == 0)
	{					//100ms內(nèi)未收到響應(yīng)
		Status = COMMERR;
	}
	else
	{	
		if(SEQ == (SerBfr[CMDTYPE]&0xf0))
		{				//包號(hào)匹配
			Status = OK;
		}
		else
			Status = SEQERR;	//包號(hào)不匹配
	}
	return Status;
}

#if GetDvcInfo_en
INT8U GetDvcInfo(INT8U *DvcInfo)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 1;
	SerBfr[COMMAND] = 'A';
	SerBfr[LENGTH] = 0;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
			memcopy(DvcInfo,&SerBfr[DATA],SerBfr[LENGTH]);
	}
	return Status;
}
#endif

#if PCDConfig_en
INT8U PCDConfig()
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 1;
	SerBfr[COMMAND] = 'B';
	SerBfr[LENGTH] = 0;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PCDClose_en
INT8U PCDClose()
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 1;
	SerBfr[COMMAND] = 'C';
	SerBfr[LENGTH] = 0;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PCDLoadKey_en
INT8U PCDLoadKey(INT8U KEYAB,INT8U SecNr,INT8U *Key)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 1;
	SerBfr[COMMAND] = 'E';
	SerBfr[LENGTH] = 8;
	SerBfr[DATA] = KEYAB;
	SerBfr[DATA+1] = SecNr;
	memcopy(&SerBfr[DATA+2],Key,6);
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PCDWriteReg_en
INT8U PCDWriteReg(INT8U RegAddr,INT8U RegValue)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 1;
	SerBfr[COMMAND] = 'F';
	SerBfr[LENGTH] = 2;
	SerBfr[DATA] = RegAddr;
	SerBfr[DATA+1] = RegValue;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PCDReadReg_en
INT8U PCDReadReg(INT8U RegAddr,INT8U *RegValue)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 1;
	SerBfr[COMMAND] = 'G';
	SerBfr[LENGTH] = 1;
	SerBfr[DATA] = RegAddr;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
			*RegValue = SerBfr[DATA];
	}
	return Status;
}
#endif

#if PiccRequest_en
INT8U PiccRequest(INT8U Req_Code,INT8U *TagType)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'A';
	SerBfr[LENGTH] = 1;
	SerBfr[DATA] = Req_Code;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
		{
			*TagType = SerBfr[DATA];
			*(TagType+1) = SerBfr[DATA+1];
		}
	}
	return Status;
}
#endif

#if PiccAnticoll_en
INT8U PiccAnticoll(INT8U Sel_Code,INT8U Bcnt,INT8U *PiccSnr)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'B';
	SerBfr[LENGTH] = 2;
	SerBfr[DATA] = Sel_Code;
	SerBfr[DATA+1] = Bcnt;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
		{
			memcopy(PiccSnr,&SerBfr[DATA],4);
		}
	}
	return Status;
}
#endif

#if PiccSelect_en
INT8U PiccSelect(INT8U Sel_Code,INT8U *PiccSnr,INT8U *Sak)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'C';
	SerBfr[LENGTH] = 5;
	SerBfr[DATA] = Sel_Code;
	memcopy(&SerBfr[DATA+1],PiccSnr,4);
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
		{
			*Sak = SerBfr[DATA];
		}
	}
	return Status;
}
#endif

#if PiccHalt_en
INT8U PiccHalt()
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'D';
	SerBfr[LENGTH] = 0;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccAuthE2_en
INT8U PiccAuthE2(INT8U KeyAB,INT8U *PiccSnr,INT8U SecNr,INT8U Block)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'E';
	SerBfr[LENGTH] = 7;
	SerBfr[DATA] = KeyAB;
	memcopy(&SerBfr[DATA+1],PiccSnr,4);
	SerBfr[DATA+5] = SecNr;
	SerBfr[DATA+6] = Block;	

	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccAuthKey_en
INT8U PiccAuthKey(INT8U KeyAB,INT8U *PiccSnr,INT8U *Key,INT8U Block)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'F';
	SerBfr[LENGTH] = 12;
	SerBfr[DATA] = KeyAB;
	memcopy(&SerBfr[DATA+1],PiccSnr,4);
	memcopy(&SerBfr[DATA+5],Key,4);
	SerBfr[DATA+11] = Block;	

	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccRead_en
INT8U PiccRead(INT8U Block,INT8U *Bfr)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'G';
	SerBfr[LENGTH] = 1;
	SerBfr[DATA] = Block;
		
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
		{
			memcopy(Bfr,&SerBfr[DATA],16);
		}
	}
	return Status;
}
#endif

#if PiccWrite_en
INT8U PiccWrite(INT8U Block,INT8U *Bfr)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'H';
	SerBfr[LENGTH] = 17;
	SerBfr[DATA] = Block;
	memcopy(&SerBfr[DATA+1],Bfr,16);
		
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccULWrite_en
INT8U PiccULWrite(INT8U Block,INT8U *Bfr)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'I';
	SerBfr[LENGTH] = 5;
	SerBfr[DATA] = Block;
	memcopy(&SerBfr[DATA+1],Bfr,16);
		
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccValue_en
INT8U PiccValue(INT8U Mode,INT8U Block,INT8U *Value,INT8U TransBlock)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'J';
	SerBfr[LENGTH] = 7;
	SerBfr[DATA] = Mode;
	SerBfr[DATA+1] = Block;
	memcopy(&SerBfr[DATA+2],Value,4);
	SerBfr[DATA+6] = TransBlock;
		
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccReset_en
INT8U PiccReset(INT8U _1ms)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'L';
	SerBfr[LENGTH] = 1;
	SerBfr[DATA] = _1ms;
			
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccActiveTypeA_en
INT8U PiccActiveTypeA(	INT8U BaudRate,
						INT8U Req_Code,
						INT8U *Atq,
						INT8U *Ats,
						INT8U *PiccSnrLen,
						INT8U *PiccSnr	)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'M';
	SerBfr[LENGTH] = 2;
	SerBfr[DATA] = BaudRate;
	SerBfr[DATA+1] = Req_Code;
		
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
		{
			*Atq = SerBfr[DATA];
			*(Atq+1) = SerBfr[DATA+1];
			*Ats = SerBfr[DATA+2];
			*PiccSnrLen = SerBfr[DATA+3];
			memcopy(PiccSnr,&SerBfr[DATA+4],*PiccSnrLen);
		}
	}
	return Status;
}
#endif

#if PiccAutoDetect_en
INT8U PiccAutoDetect(INT8U OutMode,  INT8U TxMode, INT8U Req_Code, 
					 INT8U AuthMode, INT8U KEYAB,  INT8U *Key, INT8U Block)
{
	INT8U Status;
	
	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'N';

	if(AuthMode == 0)
		SerBfr[LENGTH] = 4;
	else
	{	SerBfr[DATA+4] = KEYAB;
		if(AuthMode == 'E')
		{
			SerBfr[DATA+5] = *Key;
			SerBfr[DATA+6] = Block;
			SerBfr[LENGTH] = 7;
		}
		else if(AuthMode == 'F')
		{
			memcopy(&SerBfr[DATA+5],Key,6);
			SerBfr[DATA+11] = Block;
			SerBfr[LENGTH] = 12;
		}
		else
			return COMMERR;
	}

	SerBfr[DATA] = OutMode;
	SerBfr[DATA+1] = TxMode;
	SerBfr[DATA+2] = Req_Code;
	SerBfr[DATA+3] = AuthMode;
	
	Status = Zlg500S_Cmd();
	
	if(Status == OK)
	{
		Status = SerBfr[STATUS];
	}
	return Status;
}
#endif

#if PiccADRcv_en
/***********************************************************************************
模塊產(chǎn)生中斷后,直接讀取數(shù)據(jù)
輸入:	無
輸出:	TxDrv——TX驅(qū)動(dòng),0x01——僅TX1,0x02——僅TX2,0x03——TX1、TX2全驅(qū)動(dòng)
		TagType——目標(biāo)類型,同PiccRequest函數(shù)
		Sak——選擇應(yīng)答,同PiccSelect函數(shù)
		Snr——序列號(hào),,同PiccSelect函數(shù)
		DTBfr——塊數(shù)據(jù)首址
返回:	0——成功,其它值——失敗
***********************************************************************************/
INT8U PiccADRcv(INT8U *TxDrv,INT8U *TagType,INT8U *Sak,INT8U *Snr,INT8U *DTBfr)
{
	INT8U Status = 0xff;

	if(Ser_Rcv())
	{	
		if(SEQ == (SerBfr[CMDTYPE]&0xf0))
		{				//包號(hào)匹配
			Status = OK;
		}
		else
			Status = SEQERR;	//包號(hào)不匹配

		if(Status == OK)
		{
			Status = SerBfr[STATUS];
			if(Status == OK)
			{
				*TxDrv = SerBfr[DATA];
				TagType[0] = SerBfr[DATA+1];
				TagType[1] = SerBfr[DATA+2];
				*Sak = SerBfr[DATA+3];
				memcopy(Snr,&SerBfr[DATA+5],SerBfr[DATA+4]);
				if(DTBfr != 0)
					memcopy(DTBfr,&SerBfr[DATA+5+SerBfr[DATA+4]],16);
			}
		}
	}
	return Status;
}
#endif

#if PiccReadADDT_en
/***********************************************************************************
發(fā)送讀自動(dòng)檢測命令
輸入:	Mode:0x00——停止檢測,0x01——繼續(xù)檢測
輸出:	TxDrv——TX驅(qū)動(dòng),0x01——僅TX1,0x02——僅TX2,0x03——TX1、TX2全驅(qū)動(dòng)
		TagType——目標(biāo)類型,同PiccRequest函數(shù)
		Sak——選擇應(yīng)答,同PiccSelect函數(shù)
		Snr——序列號(hào),,同PiccSelect函數(shù)
		DTBfr——塊數(shù)據(jù)首址
返回:	0——成功,
		-1——未檢測到卡
		-100——未進(jìn)入自動(dòng)檢測
		其它值——失敗
***********************************************************************************/
INT8U PiccReadADDT(INT8U Mode,INT8U *TxDrv,INT8U *TagType,INT8U *Sak,INT8U *Snr,INT8U *DTBfr)	//若DTBfr為空,則表示不讀扇區(qū)數(shù)據(jù)
{
	INT8U Status;

	SerBfr[CMDTYPE] = 2;
	SerBfr[COMMAND] = 'O';
	SerBfr[LENGTH] = 1;
	SerBfr[DATA] = Mode;
	
	Status = Zlg500S_Cmd();

	if(Status == OK)
	{
		Status = SerBfr[STATUS];
		if(Status == OK)
		{
			*TxDrv = SerBfr[DATA];
			TagType[0] = SerBfr[DATA+1];
			TagType[1] = SerBfr[DATA+2];
			*Sak = SerBfr[DATA+3];
			memcopy(Snr,&SerBfr[DATA+5],SerBfr[DATA+4]);
			if(DTBfr != 0)
				memcopy(DTBfr,&SerBfr[DATA+5+SerBfr[DATA+4]],16);
		}
	}

	return Status;
}
#endif

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

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区视频| 欧美日韩美少妇| 日韩欧美不卡一区| 亚洲欧美偷拍卡通变态| 国产一区二区三区四| 欧美日韩电影在线播放| 中文字幕日韩一区| 国产一区二区三区国产| 日韩欧美资源站| 亚洲第一福利一区| 99国产精品99久久久久久| 久久色在线视频| 欧美aaaaa成人免费观看视频| 91福利国产精品| 国产精品家庭影院| 国产美女视频91| 欧美不卡一区二区三区四区| 午夜伊人狠狠久久| 欧美丝袜自拍制服另类| 亚洲色图另类专区| 成人免费黄色在线| 国产日产精品一区| 国产精品99久久久久久久女警| 欧美一区二区三区免费视频| 亚洲国产欧美日韩另类综合| 色网站国产精品| 成人欧美一区二区三区视频网页| 国产精品一级在线| 麻豆久久久久久| 欧美日韩国产一二三| 亚洲综合色视频| 一本色道久久综合狠狠躁的推荐| 国产精品美女久久福利网站| 成人在线视频一区| 欧美国产精品专区| 从欧美一区二区三区| 国产欧美一区二区三区鸳鸯浴| 极品美女销魂一区二区三区免费| 日韩精品一区二区三区蜜臀 | 精品国产91久久久久久久妲己| 日韩精品高清不卡| 欧美美女黄视频| 日韩综合一区二区| 777欧美精品| 免费看欧美美女黄的网站| 日韩视频中午一区| 精品一二三四在线| 久久九九久精品国产免费直播| 国产麻豆精品95视频| 国产区在线观看成人精品| 成人性色生活片| 国产精品久久看| 成人少妇影院yyyy| 国产精品国产三级国产aⅴ原创| 成人黄色电影在线| 最新中文字幕一区二区三区| 色88888久久久久久影院按摩 | ww亚洲ww在线观看国产| 韩国一区二区三区| 国产精品你懂的在线| 不卡一区二区三区四区| 亚洲男人的天堂一区二区| 日本韩国视频一区二区| 亚洲高清免费视频| 91精品国产免费久久综合| 激情综合色播五月| 欧美国产精品一区二区三区| 91女人视频在线观看| 亚洲国产精品久久久久秋霞影院 | 91免费视频观看| 一区二区成人在线视频| 欧美一级xxx| 国产精品一二三四五| 亚洲视频图片小说| 欧美少妇一区二区| 激情深爱一区二区| 最新国产の精品合集bt伙计| 欧美人与z0zoxxxx视频| 国产美女在线观看一区| 亚洲精品综合在线| 日韩午夜激情视频| 成人午夜精品在线| 亚洲成在线观看| 久久综合色鬼综合色| 色先锋久久av资源部| 久久精品国产网站| 一区免费观看视频| 日韩午夜av一区| 99在线精品一区二区三区| 婷婷国产v国产偷v亚洲高清| 国产日本欧洲亚洲| 精品1区2区3区| 国产福利一区在线观看| 亚洲国产精品久久一线不卡| 久久久亚洲国产美女国产盗摄| 色999日韩国产欧美一区二区| 麻豆视频一区二区| 亚洲欧美一区二区三区极速播放 | heyzo一本久久综合| 午夜久久久久久久久| 中文字幕av一区二区三区高 | 国产成人av电影| 亚洲一级片在线观看| 久久日一线二线三线suv| 欧美在线三级电影| 成人午夜电影久久影院| 日韩av中文字幕一区二区三区| 国产精品美女一区二区在线观看| 制服丝袜一区二区三区| 99精品国产视频| 韩日精品视频一区| 天堂av在线一区| ...中文天堂在线一区| 欧美精品一区二区三区蜜臀| 在线亚洲免费视频| 粉嫩嫩av羞羞动漫久久久| 三级亚洲高清视频| 亚洲女人小视频在线观看| 国产亚洲一区二区三区在线观看 | 成人精品gif动图一区| 日本中文字幕一区二区有限公司| 亚洲精品中文在线观看| 国产亚洲精品久| 欧美一区二区三区爱爱| 欧美在线影院一区二区| 99re这里只有精品视频首页| 国产在线观看免费一区| 免费成人在线视频观看| 亚洲一区在线观看免费观看电影高清| 国产亚洲人成网站| 日韩欧美国产综合一区 | 国产精品18久久久久久久网站| 午夜精品成人在线| 亚洲欧美日韩国产手机在线| 国产精品视频第一区| 久久影院午夜论| 欧美精品一区二区三区蜜桃视频| 7777精品伊人久久久大香线蕉完整版 | 国产精品国产三级国产aⅴ无密码| 日韩久久免费av| 欧美精品久久久久久久多人混战| 色综合欧美在线视频区| www.66久久| 99久久国产综合精品色伊| 成年人国产精品| av毛片久久久久**hd| 成人精品国产一区二区4080| 国产91精品入口| 国产成人高清视频| 精东粉嫩av免费一区二区三区| 久久99久久99| 麻豆极品一区二区三区| 蜜臀av在线播放一区二区三区| 丝袜美腿高跟呻吟高潮一区| 午夜在线电影亚洲一区| 日韩专区一卡二卡| 日本最新不卡在线| 人人爽香蕉精品| 久久99精品久久久久久久久久久久| 免费av网站大全久久| 美女一区二区视频| 国产一区二区视频在线| 国产精品911| 不卡高清视频专区| 91天堂素人约啪| 欧美日韩在线直播| 91精品国产品国语在线不卡| 欧美电影免费观看完整版| 久久久美女艺术照精彩视频福利播放| 久久亚区不卡日本| 国产精品久久久久久户外露出| 国产精品国产三级国产普通话99 | 国产日韩欧美一区二区三区综合| 欧美—级在线免费片| 亚洲同性gay激情无套| 夜夜嗨av一区二区三区中文字幕| 亚洲1区2区3区4区| 免费成人在线视频观看| 国产精品夜夜爽| 91天堂素人约啪| 欧美日韩在线精品一区二区三区激情 | 日本vs亚洲vs韩国一区三区二区| 久久国产夜色精品鲁鲁99| 国产九色精品成人porny| 不卡视频在线观看| 欧美日韩中文字幕一区二区| 日韩一区二区免费视频| 久久久高清一区二区三区| 中文字幕一区免费在线观看| 亚洲国产精品自拍| 久久精品二区亚洲w码| 成人在线视频一区| 欧美亚洲丝袜传媒另类| 日韩免费高清av| 中文字幕欧美国产| 亚洲国产欧美另类丝袜| 国内一区二区在线| 99久久99久久精品免费看蜜桃| 欧美日韩精品二区第二页| 久久精品视频免费|