My PN7150 can read most NFC cards.
I got a ISO 14443-A NFC card.
ACOS3 Microprocessor Card (Contactless) | ACS
I can receive i2c data from PN7150, but can not parse its UID and return Undetermined target.
Here is the i2c log
====================================================
<< 61 03 0e
<< 61 03 0e 01 05 00 09 04 00 04 b0 8c d0 72
<< 61 03 0e
<< 61 03 0e 02 04 00 09 04 00 04 b0 8c d0 72
<< 61 03 0e
<< 61 03 0e 03 02 00 09 04 00 04 b0 8c d0 72
>> 21 04 03 01 05 03
<< 41 04 01
<< 41
- POLL MODE: Undetermined target
>> 21 06 01 01
<< 41 06 01
<< 41
CARD REMOVED
====================================================
I used NXP Software package is SW3241.zip
I traced the code in NxpNci.c
It seem did not have case when i2c receive is
Answer[0] == 0x61
Answer[1] == 0x03
in "bool NxpNci_WaitForDiscoveryNotification(NxpNci_RfIntf_t *pRfIntf)"
Any idea for it ?
But I can not read this ACS NFC card .
could I send this card to NXP to analyze ?
if yes, send your real address to my private mail box .
We checked with our local agent, they did not have idea for ACS card .
Yes, I had read 17 bytes. Sorry, I made mistake in printf.
My question is
the code check condition "((Answer[1] != 0x05) && (Answer[1] != 0x03))" in while loop.
but in below just allow "if (Answer[1] == 0x05)" case.
so could I change to "if (Answer[1] == 0x05) || (Answer[1] == 0x03) " ??
Hi Peter,
No, you need not do that, as the else condition includes the case of "Answer[1] == 0x03".
Have a great day,
Kan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Peter,
Looks like the NCI message is not complete, for 61 03 frame, it is expected to have 17 bytes. for example,
[NCI][NOTIFICATION][61 03 0e 01 05 00 09 04 00 04 b0 8c d0 72 00 00 00]
RF_DISCOVER_NTF
* RF Discovery ID = 1 [0x01]
* RF Protocol = {Std} PROTOCOL_NFC_DEP [0x05]
* RF Technology and Mode = {Std} NFC_A_PASSIVE_POLL_MODE [0x00]
* Length of RF Technology Specific Parameters = 9 [0x09]
* RF Technology Specific Parameters = [0x04 0x00 0x04 0xB0 0x8C 0xD0 0x72 0x00 0x00]
--> SENS_RES = [0x04 0x00]
--> NFCID1 Length = 4 [0x04]
--> NFCID1 = [0xB0 0x8C 0xD0 0x72]
--> SEL_RES Response Length = 0 [0x00]
--> SEL_RES Response = []
* Notification Type = Last Notification [0x00]
Have a great day,
Kan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------