|
1.尋卡,防碰撞,選卡,復(fù)位轉(zhuǎn)入APDU命令,選擇MF主目錄成功后,我執(zhí)行讓卡休眠。然后把卡拿開,重新刷卡會(huì)在選擇MF主目錄這里失敗。2.這樣循環(huán)重復(fù)成功,失敗,成功,失敗。。。。。。
代碼如下:
1.先尋卡,防碰撞,選卡
2.上述成功后,就執(zhí)行如下代碼: FMstatus=pro_reset(out_data,tt);//轉(zhuǎn)入APDU命令格式CPU卡復(fù)位操作,成功后才能往下操作//
if(MI_OK==FMstatus)
{
FMstatus=MI_ERR;
st=FM1208_SelectFile(File_3F00, g_cReceBuf,tt);
printf("FM1208_SelectFile,st=0x%x\r\n",st);
if(st==0x9000)
{
FMstatus=MI_OK;
}
else
{
FMstatus=MI_ERR;
return FMstatus;
}
}
3.成功后就執(zhí)行PcdHalt();讓卡休眠。
串口打印現(xiàn)象如下:
Card type=0x0800
PcdAnticoll ok
Card_ID>>>6EFCD20C
PcdSelect ok
This is CPU Card,SAK=20
FM1208_SelectFile,st=0x9000
------------------------------------------
Card type=0x0800
PcdAnticoll ok
Card_ID>>>6EFCD20C
PcdSelect ok
This is CPU Card,SAK=20
FM1208_SelectFile,st=0xffff
同一張卡,第一次成功返回0x9000.第二次就失敗,然后就是成功,失敗,成功,失敗循環(huán)。。。。
有知道是怎么回事嗎?
|
|