AnsweredAssumed Answered

SW3683-v05.07.01和SW3683-v05.19.00 PN7462AU_ex_phExCcid关于ISO15693的bug

Question asked by xia shuang on Dec 5, 2018
Latest reply on Dec 11, 2018 by xia shuang

单步执行发现在这里出现了问题:

            /** 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的卡片又是正常的,不知道是什么问题???

SW3683-v05.07.01这个版本也是一样的结果,和SW3683-v05.19.00结果一样,在PN7462B开发板上,放上ISO15693的卡片,能读到8字节UID号,但四个指示灯(红绿黄蓝)停不下来,一直在闪,放mifare1卡和ISO14443A-4的CPU卡就可以停下来。感觉代码当中有错误,破坏了变量gphExCcid_sUsb_SlotInfo,让gphExCcid_sUsb_SlotInfo.bSlotType变成了0x00。

官方的PN7462AU_ex_phExCcid例程只测试了TypeA,其它都有点问题,bug挺多,有些地方莫名的错误。

比如:

 phExCcid_Handle_USB_Process(psDiscLoopParams);

在执行TypeA时,这条语句就没有问题,在执行ISO15693时,把结构体变量gphExCcid_sUsb_SlotInfo的值清零了,造成寻卡时卡放上去还是不断地读卡,

gphExCcid_sUsb_SlotInfo.bSlotType   被赋值为 PH_EXCCID_USBCCID_CHANNEL_NONE。

 

希望NXP官方能解决这个问题!!!

Outcomes