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

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

?? readcard.c

?? 基于單片機(jī)的SIM卡類CPU卡讀寫器源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <api.h>
#include <ExEH0218.h>
#include "Health.h"

int Select_File(unsigned char * FileName)
{
    unsigned short SW, rc;
    unsigned short pSW, P1;
    unsigned char tbuff[40];
    int filesze;
	
    tbuff[0]=FileName[0];
    tbuff[1]=FileName[1];
    rc = ICC_T0_TPDU(0,0xA0,0xA4,0,0,2,tbuff,&SW);
    if (rc)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select Error",DISP_CENTER|DISP_CLRSCR);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );
        return(0);            
    }
    pSW = SW;
    if (pSW >> 8 != 0x009F)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select 1 Error",DISP_CENTER|DISP_CLRSCR);
	dump_memory(&SW, 2, 5);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );
        return(0);            
    }
    pSW = SW;
    P1 = 15;
    rc = ICC_T0_TPDU(1,0xA0,0xC0,0,0,P1,tbuff,&SW);
    
    if (rc)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select 2 Error",DISP_CENTER|DISP_CLRSCR);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );   
        return(0);         
    }
    
    //(unsigned short * )&pSW = SW;
    
    if (SW != 0x9000)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select 3 Error",DISP_CENTER|DISP_CLRSCR);
	dump_memory(&SW, 2, 5);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );  
        return(0);          
    }
    
    filesze = tbuff[2] * 256 + tbuff[3];
    return(filesze);
    
}

void Verify_Adm()
{
    unsigned short SW, rc;
    unsigned short pSW;
    unsigned char tbuff[40];
    int filesze;
	
    tbuff[0]=0x39;
    tbuff[1]=0x62;
    tbuff[2]=0x60;
    tbuff[3]=0x33;
    tbuff[4]=0x67;
    tbuff[5]=0x61;
    tbuff[6]=0x35;
    tbuff[7]=0xBA;

    rc = ICC_T0_TPDU(0,0xA0,0x20,0,0x0B,8,tbuff,&SW);

/*    if (rc)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select Error",DISP_CENTER|DISP_CLRSCR);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );
        return(0);            
    }
    pSW = SW;
    if (pSW >> 8 != 0x009F)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select 1 Error",DISP_CENTER|DISP_CLRSCR);
	dump_memory(&SW, 2, 5);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );
        return(0);            
    }
    pSW = SW;
    filesze = (pSW - 0x9F00);
    
    rc = ICC_T0_TPDU(1,0xA0,0xC0,0,0,filesze,tbuff,&SW);
    if (rc)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select 2 Error",DISP_CENTER|DISP_CLRSCR);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );   
        return(0);         
    }
    //(unsigned short * )&pSW = SW;
    if (SW != 0x9000)
    {
    	clr_scr();
	DispStr_CE(0,3,"Select 3 Error",DISP_CENTER|DISP_CLRSCR);
	dump_memory(&SW, 2, 5);
        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );  
        return(0);          
    }
    filesze = tbuff[2] * 256 + tbuff[3];
    return(filesze);
  */  
}

int Read_File(unsigned char * FileName, unsigned char * DataStr)
{
    unsigned short SW, rc, pSW;
    unsigned char tbuff[260];
    unsigned char tempbuff[260];
    int filesze;
    int cnt = 0;
    int leftcnt;
    unsigned char P1, P2, P3, P4, P5;
    int rcode;
    unsigned char abuff[1640];
    unsigned char alen;
    //*********************20060911********************
    //char testbuf1[16],testbuf2[16];
    //*********************20060911********************
    bzero(DataStr, sizeof(DataStr));
    ICC_interface_power(ICC_POWER_ON);
    ICC_select_sock(ICC_SOCK_MAIN);   
    //ICC_select_sock(ICC_SOCK_SAM);
    rcode = ICC_cpucard_ATR(abuff,&alen, ICC_CLOCK_4M, ICC_VOLTAGE_5, 0x11, 0);
    rcode = ICC_cpucard_ATR(abuff,&alen, ICC_CLOCK_4M, ICC_VOLTAGE_5, 0x11, 0);
    if (rcode) 
        return(-1);
    //Verify_Adm();
    filesze = Select_File(FileName);
    
    if (!filesze)
    	return(-1);
    leftcnt = filesze;
    P5=0;
    while (leftcnt > 0)
    {
  
    	P1 = floor(cnt /2);
    	P2 = (cnt - P1 * 2)*128;
    	if (leftcnt < 129 )
    	{
    	    P3 = leftcnt;
    	    P4=P3;
    	    leftcnt = 0;
    	}
    	else
    	{
    	    P3 = 128;
    	    P4=P3;
    	    leftcnt = leftcnt - 128;
    	    cnt = cnt + 1;
    	}
    	memset(tbuff,0,sizeof(tbuff));  
    	rc = ICC_T0_TPDU(1,0xA0,0xB0,P1,P2,P3,tbuff,&SW); 
    	//*********************20060911********************
    	//memcpy(testbuf1[16],tbuff,16);
    	//memcpy(testbuf2[16],tbuff+112,16);
    	//DispStr_CE(0,0,testbuf1,DISP_POSITION|DISP_CLRSCR);
    	//DispStr_CE(0,3,testbuf2,DISP_POSITION);
    	//delay_and_wait_key( 10, EXIT_KEY_ALL, 0 );
    	//*********************20060911********************
    	if (rc)
    	{
    		ICC_interface_power(ICC_POWER_OFF);
	     	clr_scr();
		DispStr_CE(0,3,"Read Error",DISP_CENTER|DISP_CLRSCR);
	        delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );   
	        return(-1);
	}
	pSW = SW;
	pSW = pSW >> 8;
	if ((pSW != 0x009F) && (pSW != 0x0090))         
    	{
    		ICC_interface_power(ICC_POWER_OFF);
	     	clr_scr();
		DispStr_CE(0,3,"Read 1 Error",DISP_CENTER|DISP_CLRSCR);
		dump_memory(&SW, 2, 5);
        	delay_and_wait_key( 1, EXIT_KEY_ALL, 0 );   
	        return(-1);
	}
	pSW = SW;
	P1 = 0;
	P2 = 0;
	pSW = pSW - 0x9000;
	P3 = pSW;
   	//memcpy(&DataStr[strlen(DataStr)],tbuff,(strlen(tbuff)-2));
   	memcpy(&DataStr[P5],tbuff,P4);
   	P5+=P4;
    }
   ICC_interface_power(ICC_POWER_OFF);

   return(0);		
   			
   			
   			
}

//please insert read card function

//get Demograhic info
int Read_Per_Info(char *Card_Read_Buff)
{
	//Please Insert Function 
	//Card Reset;
	//select Adf
	//Read Bin
	//memcpy(Card_Read_Buff ,"8ef3ec8a-59c2-4693-a569-313038da47e4|Dunegan|John11|k|||11/24/2005 12:00:00 AM|125456544|M|1234567||1333 Corporate Dr.|suite 360|||Irving|TX|75038||8664886633|123456456489484|8889990000|||jdunegan@healthmeans.com||Catholic|Japanese|healthmeans|1234 abc drive|suite 123|dallas|TX|75038|sales|12/28/2005 12:00:00 AM|False|English||||Single|Full Time|1/18/2006 10:37:04 AM",340);
	if(Read_File("\x6F\x91", Card_Read_Buff) != 0)
	   return (1);
	//return 1;//read card error
	return 0;//read card right
}


//get RELATIVES info
int NextOfKinInfo(char *Card_Read_Buff)
{
	//Please Insert Function 
	//Card Reset;
	//select Adf
	//Read Bin
	//memcpy(Card_Read_Buff ,"Aaron|John|k|||11/24/2005 12:00:00 AM|125456544|F|1234567||1333 Corporate Dr.|suite 360|Irving|TX|75038||8664886633|123456456489484|8889990000||12344321|jdunegan@healthmeans.com|Catholic|Japanese|healthmeans|1234 abc drive|suite 123|dallas|TX|75038|sales|12/28/2005 12:00:00 AM|False|English|Wife|fff|Single|Full Time",340);
	if(Read_File("\x6F\x92", Card_Read_Buff) != 0)
	   return (1);
	//return 1;//read card error
	return 0;//read card right
		
}
int GuarantorInfo(char *Card_Read_Buff)
{
	//Please Insert Function 
	//Card Reset;
	//select Adf
	//Read Bin
	//memcpy(Card_Read_Buff ,"Adeline|Alice|k|||11/24/2005 12:00:00 AM|125456544|F|1234567||1333 Corporate Dr.|suite 360|Irving|TX|75038||8664886633|123456456489484|8889990000||12344321|jdunegan@healthmeans.com|Catholic|Japanese|healthmeans|1234 abc drive|suite 123|dallas|TX|75038|sales|12/28/2005 12:00:00 AM|False|English|Wife|fff|Single|Full Time",340);
	if(Read_File("\x6F\x93", Card_Read_Buff) != 0)
	   return (1);
	//return 1;//read card error
	return 0;//read card right
		
}
int EmergencyInfo(char *Card_Read_Buff)
{
	//Please Insert Function 
	//Card Reset;
	//select Adf
	//Read Bin
	//memcpy(Card_Read_Buff ,"Christopher|Peter|k|||11/24/2005 12:00:00 AM|125456544|M|1234567||1333 Corporate Dr.|suite 360|Irving|TX|75038||8664886633|123456456489484|8889990000||12344321|jdunegan@healthmeans.com|Catholic|Japanese|healthmeans|1234 abc drive|suite 123|dallas|TX|75038|sales|12/28/2005 12:00:00 AM|False|English|Wife|fff|Single|Full Time",340);
	if(Read_File("\x6F\x94", Card_Read_Buff) != 0)
	   return (1);
	//return 1;//read card error
	return 0;//read card right
		
}

int Insurance1Info(char *Card_Read_Buff)
{
	char strtmp[2000],tmp[16];
	int i=0,ret;
	memset(strtmp,0,2000);
	ret=InsuranceInfo(strtmp);
	if (ret==1)	return 1;
	for (i=0;i<2000;i++)
	{
		if (strtmp[i]==0x01)
		{
			//sprintf(tmp,"i=%4d",i);
			//DispStr_E(0,0,tmp,DISP_POSITION|DISP_CLRSCR);
			//delay_and_wait_key( 10, EXIT_KEY_ALL, 0 );
			break;
		}//break;	
		
	}
	if (i>500) return 1;
	memcpy(Card_Read_Buff,strtmp,i);
	//return 1;//read card error
	return 0;//read card right
		
}

int Insurance2Info(char *Card_Read_Buff)
{
	char strtmp[2000],tmp[16];
	int i=0,m=0,n,p,ret;
	memset(strtmp,0,2000);
	
	ret=InsuranceInfo(strtmp);
	if (ret==1)	return 1;
	for (i=0;i<2000;i++)
	{
		if (strtmp[i]==0x01)
		{
			m++;
			if (m==1) n=i+1;
			if (m==2) p=i;
			
			if (m==2) break;
		}//	
		
	}
	
	memcpy(Card_Read_Buff,strtmp+n,p-n);

	return 0;//read card right
		
}
int Insurance3Info(char *Card_Read_Buff)
{
	//Please Insert Function 
	//Card Reset;
	//select Adf
	//Read Bin
	//memcpy(Card_Read_Buff ,"Caichanchina|hongyun|3456789012|Dragon3|121234345656|lastname|firstname|K|11/24/2005 12:00:00 AM|M|1333 Corporate Dr.|suite 360|Irving|TX|75038|112-233-4455|8664886633|123456456489484|jdunegan@healthmeans.com|Catholic| |||||||||||||||dragon|",340);
	char strtmp[2000],tmp[16];
	int i=0,m=0,n,p,ret;
	memset(strtmp,0,2000);
	
	ret=InsuranceInfo(strtmp);
	if (ret==1)	return 1;
	for (i=0;i<2000;i++)
	{
		if (strtmp[i]==0x01)
		{
			m++;
			if (m==2) n=i+1;
			if (m==3) p=i;
			if (m==3) break;	
		}	
	}
	
	memcpy(Card_Read_Buff,strtmp+n,p-n);
	//return 1;//read card error

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区高清精品免费观看| 一区二区三区高清不卡| 国产精品国产精品国产专区不片 | 久久蜜桃av一区精品变态类天堂| 亚洲欧洲性图库| 蜜桃一区二区三区四区| 99re热这里只有精品免费视频| 欧美日韩国产高清一区二区| 欧美国产日韩亚洲一区| 久久 天天综合| 欧美日韩国产综合一区二区三区| 国产精品乱码一区二三区小蝌蚪| 美女精品自拍一二三四| 欧美制服丝袜第一页| 国产精品久久久久久久久快鸭| 久久国产精品72免费观看| 欧美午夜一区二区三区| 亚洲女子a中天字幕| 懂色av一区二区三区免费观看 | 久久综合久久综合九色| 亚洲成av人影院| 91精品办公室少妇高潮对白| 欧美国产精品一区二区| 国产盗摄精品一区二区三区在线 | 国产在线不卡视频| 91精品国产欧美一区二区| 亚洲国产精品人人做人人爽| 日本精品免费观看高清观看| 国产精品毛片a∨一区二区三区| 国产剧情一区二区三区| 精品福利在线导航| 国内成人精品2018免费看| 69久久夜色精品国产69蝌蚪网| 亚洲h动漫在线| 欧美日韩精品欧美日韩精品一 | 日韩午夜电影在线观看| 天天亚洲美女在线视频| 欧美精三区欧美精三区| 婷婷成人综合网| 欧美一区二区三区喷汁尤物| 日本亚洲欧美天堂免费| 精品久久久久久无| 成人综合在线视频| 亚洲欧美激情插| 欧美亚洲国产一区二区三区| 亚洲第一精品在线| 精品日韩欧美一区二区| 国产一区二区三区香蕉| 国产午夜精品一区二区| 成+人+亚洲+综合天堂| 亚洲色欲色欲www| 欧美日韩第一区日日骚| 六月丁香婷婷久久| 中文字幕第一区综合| 91片黄在线观看| 日本 国产 欧美色综合| 国产拍欧美日韩视频二区| 色综合一个色综合| 天堂蜜桃一区二区三区| 久久久久国产精品麻豆ai换脸| 成人av影院在线| 婷婷六月综合网| 国产亚洲短视频| 欧洲日韩一区二区三区| 人人精品人人爱| 日韩美女视频一区二区| 91精品黄色片免费大全| 国产丶欧美丶日本不卡视频| 亚洲一区二区美女| 久久久久亚洲综合| 欧美熟乱第一页| 丰满亚洲少妇av| 婷婷一区二区三区| 亚洲欧洲av色图| 精品日韩av一区二区| 91免费视频观看| 国产综合色精品一区二区三区| 亚洲美女偷拍久久| 久久久国产午夜精品| 欧美日韩激情一区二区三区| 成人av中文字幕| 国内外成人在线| 日产国产高清一区二区三区| 中文字幕中文字幕在线一区| 日韩欧美亚洲国产另类| 在线国产亚洲欧美| 成人免费不卡视频| 激情成人午夜视频| 五月婷婷久久综合| 亚洲精品视频免费看| 国产欧美久久久精品影院| 欧美一区二区视频网站| 欧美在线一区二区三区| 成人理论电影网| 国产在线精品不卡| 免费成人你懂的| 亚洲伊人色欲综合网| 亚洲人成网站精品片在线观看| 国产日韩欧美麻豆| 日韩精品影音先锋| 欧美一区二区视频在线观看2020| 欧美亚洲国产一区二区三区va| 不卡的av在线播放| 成人精品在线视频观看| 国产一区在线精品| 精品一区二区三区免费视频| 日韩二区三区四区| 午夜激情综合网| 性感美女极品91精品| 一区二区三区中文在线观看| 亚洲精品欧美在线| 亚洲色图欧美激情| 亚洲欧美激情插 | 国产精品污污网站在线观看| 久久精品夜色噜噜亚洲aⅴ| 精品女同一区二区| 久久亚洲综合av| 久久久欧美精品sm网站| 日本一区二区免费在线观看视频| 精品久久久久99| 国产欧美一区二区精品久导航| 久久久99精品免费观看不卡| 久久久久99精品国产片| 久久九九国产精品| 中文字幕一区二区三区四区不卡 | 久久夜色精品国产噜噜av| 久久久久久久久一| 国产欧美精品国产国产专区| 国产精品麻豆欧美日韩ww| 亚洲视频一区在线| 亚洲国产综合在线| 免费成人在线视频观看| 国产精品一色哟哟哟| 97精品久久久午夜一区二区三区| 91精品福利视频| 欧美一级精品在线| 久久久午夜精品理论片中文字幕| 国产欧美一区二区精品秋霞影院| 国产精品三级av| 亚洲一级在线观看| 国内外精品视频| 不卡的av网站| 在线免费不卡视频| 久久夜色精品一区| 一区二区三区日韩欧美精品| 日本不卡的三区四区五区| 国产黄色成人av| 欧美日韩一区二区电影| 精品久久国产老人久久综合| 亚洲婷婷综合色高清在线| 日韩黄色在线观看| 91精品在线免费观看| 久久久久国产精品免费免费搜索| 一区二区三区资源| 狠狠久久亚洲欧美| 色欧美片视频在线观看在线视频| 91精品婷婷国产综合久久性色| 国产欧美中文在线| 午夜精品一区二区三区免费视频| 国产乱人伦偷精品视频不卡 | 日韩国产一区二| 国产成人8x视频一区二区| 欧美美女bb生活片| 国产精品国产三级国产aⅴ入口| 视频一区欧美精品| 99国产精品久| 欧美不卡在线视频| 一区二区三区在线视频观看| 国产毛片精品国产一区二区三区| 一本色道综合亚洲| 国产欧美精品一区二区三区四区 | 精品国产乱码久久久久久浪潮| 亚洲免费视频成人| 国产精品自拍av| 91精品国产91综合久久蜜臀| 自拍av一区二区三区| 国内久久精品视频| 欧美一区永久视频免费观看| 亚洲乱码中文字幕| 成人精品鲁一区一区二区| 欧美精品一区二区三区久久久| 亚洲一区二区黄色| 一本色道久久综合狠狠躁的推荐| 国产亚洲欧美一级| 极品少妇xxxx偷拍精品少妇| 欧美疯狂做受xxxx富婆| 亚洲一区二区三区精品在线| 91麻豆自制传媒国产之光| 欧美经典一区二区| 国产宾馆实践打屁股91| 久久免费精品国产久精品久久久久| 青青草精品视频| 日韩一区二区三区在线视频| 亚洲成人免费电影| 欧美三级韩国三级日本三斤| 亚洲免费在线观看| 欧美日韩中文另类| 亚洲成人自拍一区| 欧美日韩黄视频| 奇米888四色在线精品|