NHS3100 NFC UID NOT RIGHT

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NHS3100 NFC UID NOT RIGHT

833 Views
xiangxuejiao00
Contributor III

dear all

   I read nhs3100 nfc ID from the eeprom with address 

#define NSS_NFC_UID_BASE (EEPROM_START + 0xF9C) /*!< Base address of the NFC unique ID (same value can be found in the NFC tag header and read via NFC) */

the result is : 04 CA E5 A3 00 47 11 09

but I read from the phone APP NHS3100 TLOGGER ,

the result is  : 04 27 DB 00 B1 03 09

can you tell why the ID is not equal ?

pastedImage_2.png

pastedImage_3.png

0 Kudos
4 Replies

659 Views
thomas_pawlik
Contributor I

MSG_ID_GETUID = 0x09,

/**
* @c 0x0a @n
* Retrieve the NFC identifier of the IC. This is the serial number assigned to the NFC controller and stored in
* the first two pages of the NFC shared memory.
* @note This is a random number assigned during production of the IC. It is @b not guaranteed unique among all
* NHS31xx ICs.
* @note This is @b not equal to the device UID.
* @param Header : Sequence of bytes as per the @ref msg_anchor_protocol "Protocol".
* @param Payload : @b No payload.
* @return MSG_RESPONSE_GETUID_T
* @note synchronous command
* @ifnot MSG_PROTOCOL_DOC
* @note Enabled by default. To disable this command, undefine #MSG_ENABLE_GETNFCUID.
* @endif
*/
MSG_ID_GETNFCUID = 0x0a,

/**
* @c 0x0b @n
* Generates whether the BOD is triggered under extra load. Use this to check battery impedance.
* @param Header : Sequence of bytes as per the @ref msg_anchor_protocol "Protocol".
* @param Payload : @b No payload.
* @return #MSG_RESPONSE_RESULTONLY_T immediately; @n
* If @c result was equal to #MSG_OK, #MSG_RESPONSE_CHECKBATTERY_T thereafter. This may take several 100 ms.
* This second response must be fetched by issuing a command with #MSG_ID_GETRESPONSE
* @note asynchronous command
* @note For this command to become available, define @c MSG_ENABLE_CHECKBATTERY
* @warning This check has a (small) negative impact on the battery. And, this check potentially can cause a reset.
* An application may be prudent by blocking this message while a reset is not desired, e.g. during a monitoring
* session in a logger application. This can be done by implementing @c MSG_COMMAND_ACCEPT_CB
*/

0 Kudos

659 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello, 

By any chance, have you tried using the API already in the examples of the SDK called GetNfcUidHandler? Do you the same result? 

Regards, 

Estephania 

0 Kudos

659 Views
xiangxuejiao00
Contributor III

yes ,I tried ,also the same result .

in fact ,the API is also called this function .

static uint32_t GetNfcUidHandler(uint8_t msgId, int payloadLen, const uint8_t* pPayload)
{
MSG_RESPONSE_GETNFCUID_T response;
ASSERT(msgId == MSG_ID_GETNFCUID);

(void)msgId; /* suppress [-Wunused-parameter] */
(void)payloadLen; /* suppress [-Wunused-parameter]: no argument is expected, but if present redundantly, just ignore. */
(void)pPayload; /* suppress [-Wunused-parameter]: no argument is expected, but if present redundantly, just ignore. */

Chip_EEPROM_Read(NSS_EEPROM, NSS_NFC_UID_BASE - EEPROM_START, response.nfcuid, sizeof(response.nfcuid));
Msg_AddResponse(msgId, sizeof(response), (uint8_t*)&response);
return MSG_OK;
}

can you give me more suggestion about this problem ?

0 Kudos

659 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello, 

Sorry for the late reply, do you still have the problem? Also, are you sure you are reading the correct memory address as well as considering the format of the NDEF message? 

Regards, 

Estephania

0 Kudos