I want to make a card according to the NTAG213 specification package of NXP.
static uint8_t card_id[] = {0x04, 0xD9, 0x3B, 0xA2, 0xCD, 0x4E, 0x80};
#define NDEF_FILE_SIZE 256
__ALIGN(4) static uint8_t m_ndef_msg_buf[NDEF_FILE_SIZE]; /**< Buffer for NDEF file. */
static uint8_t card_raw[180];
static uint32_t nfc_card_info[] = {
// 0x04D93B6E,
// 0xA2CD4E80,
// 0xA103FFFF,
// 0xE1107C0F,
0x42414E44,
0x41490B1D,
0x05000800,
0x57F92BBF,
0xC6B49A4C,
0xE0667587,
0x6BEAC9E0,
0xF282074B,
0x9C6AD43A,
0xF1A6B758,
0x3941A72E,
0xCE16D10C,
0xE36C9B96,
0xCC702FE6,
0xCF096917,
0x06FF0A34,
0x4F7B3679,
0x899FA124,
0xE8764923,
0xF282074B,
0x9C6AD43A,
0xF1A6B758,
0x3941A72E,
0xCE16D10C,
0xE36C9B96,
0xCC702FE6,
0xCF096917,
0x06FF0A34,
0x4F7B3679,
0x899FA124,
0xE8764923,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0xFFFFFFFF,
0x00003FBD,
0x040000FF,
0x40000000,
0xFFFFFFFF,
0xFFFFFFFF,
};
for(uint8_t i = 0; i < sizeof(nfc_card_info) / 4; i++)
{
uint32_big_encode(nfc_card_info[i], &card_raw[i * 4]);
}
memcpy(m_ndef_msg_buf, card_raw, 180);
err_code = nfc_t2t_parameter_set(NFC_T2T_PARAM_NFCID1, card_id, sizeof(card_id));
APP_ERROR_CHECK(err_code);
/* Run Read-Write mode for Type 2 Tag platform */
err_code = nfc_t2t_payload_raw_set(m_ndef_msg_buf, sizeof(m_ndef_msg_buf));
APP_ERROR_CHECK(err_code);
/* Start sensing NFC field */
err_code = nfc_t2t_emulation_start();
APP_ERROR_CHECK(err_code);
After I set the parameters, the default value for reading the card content will be NTAG203.
However, the complete NTAG213 data is as follows
You can see that the data of NTAG213 is more than the data of 2A-2C. May I ask whether the tail data of the NFC protocol stack is deleted?