M1流程
if(0x08 == *bSak)
{
printf("开始M1流程\r\n");
status = phpalI14443p3a_GetSerialNo(&I14443p3a, bUid,&bLength) ;//获得UID 雷同上面的 可以不要这一步
if(PH_ERR_SUCCESS == status)
{ for(i=0;i<bLength;i++) printf("%02X ",bUid[i]);printf("\r\n");}
else
printf("获取UID失败\n");
status = phpalMifare_MfcAuthenticate(&palMifare,0, PHPAL_MIFARE_KEYA,Key,bUid);
if(PH_ERR_SUCCESS == status) printf("认证成功\n\n");
else printf("认证失败\n");
//这个函数不能有 违背流程了
// status = phalMfc_Authenticate(&alMfc,0,PHPAL_MIFARE_KEYA,0,0,bUid,bLength);
// if(PH_ERR_SUCCESS == status)
// printf("认证成功!\n\n");
// else
// printf("认证失败!\n");
status = phalMfc_Read(&alMfc,0,Rout);
if(PH_ERR_SUCCESS == status)
{printf("0块读取成功") ;for(i=0;i<16;i++) printf("%02X ",Rout[i]); printf("\r\n");}
else printf("0块读取失败!\n");
status = phalMfc_Write(&alMfc,2,Rout);
if(PH_ERR_SUCCESS == status) printf("写入成功 0块和2块内容一样了\r\n");
else printf("写入失败!\n");
status = phpalI14443p3a_HaltA (&I14443p3a); //挂起卡片 大有用途!!
if(PH_ERR_SUCCESS == status) printf("挂起卡片\n\n");
else printf("挂起卡片失败\n");
}
M1流程
猜你喜欢
转载自blog.csdn.net/weixin_42381351/article/details/85281128
今日推荐
周排行