PN7462AUPspPackageFull-v05_19_00例程PN7462AU_ex_phExCcid中ISO15693如何实现typeA mifare卡那样放上卡后四个流水灯停下来,可以通过PC/SC接口发送FF CA 00 00 00来读取UID号?
只要放了ISO15693的卡在天线上,运行PN7462AU_ex_phExCcid程序时,在PC端SCRTester 1.6.2 点Reader菜单就会反应很慢。
代码太复杂,不知道TypeA卡是如何实现卡放上去灯就不闪的。
Would you please specify the NFC reader library version? Thanks for your patience!
Have a great day,
Kan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
官方的PN7462AU_ex_phExCcid例程只测试了TypeA,其它都有点问题,bug挺多,有些地方莫名的错误。
比如:
phExCcid_Handle_USB_Process(psDiscLoopParams);
在执行TypeA时,这条语句就没有问题,在执行ISO15693时,把结构体变量gphExCcid_sUsb_SlotInfo的值清零了,造成寻卡时卡放上去还是不断地读卡,
gphExCcid_sUsb_SlotInfo.bSlotType 被赋值为 PH_EXCCID_USBCCID_CHANNEL_NONE。
bug,bug,bug...bug!!!
SW3683-v05.07.01这个版本也是一样的结果,和SW3683-v05.19.00结果一样,在PN7462B开发板上,放上ISO15693的卡片,能读到8字节UID号,但四个指示灯(红绿黄蓝)停不下来,一直在闪,放mifare1卡和ISO14443A-4的CPU卡就可以停下来。感觉代码当中有错误,破坏了变量gphExCcid_sUsb_SlotInfo,让gphExCcid_sUsb_SlotInfo.bSlotType变成了0x00。
单步执行发现在这里出现了问题:
/** Assign the General Slot as CL and CL Slot as ICODE Card. */
gphExCcid_sUsb_SlotInfo.bSlotType = PH_EXCCID_USBCCID_CL_CHANNEL_NO;
gphExCcid_sUsb_SlotInfo.bCLSlotType = PH_EXCCID_USBCCID_CL_TYPE_V;
/** Get the ATR Information. */
//phExCcid_UsbCcid_ATR_Felica_Mifare_ICode(0);
/** Call the USB Processing Functions of the CCID Class. */
phExCcid_Handle_USB_Process(psDiscLoopParams);
程序执行phExCcid_Handle_USB_Process(psDiscLoopParams)语句后将gphExCcid_sUsb_SlotInfo.bSlotType清零了,所以又不断地循环读卡,停不下来。但mifare和1443A-4的卡片又是正常的,不知道是什么问题???
PN7462AUPspPackageFull-v05_19_00