This information applies to the nRF52 Series only.
To program a tag, use the precompiled Type 2 Tag library.
Complete the following steps:
- Implement a callback function that handles events from the Type 2 Tag library and register it:
uint32_t err_code;
NfcRetval ret_val;
void nfc_callback(void *context, NfcEvent event, const char *data, size_t dataLength)
{
...
}
ret_val = nfcSetup(nfc_callback, NULL);
if (ret_val != NFC_RETVAL_OK)
{
}
The NFCT interrupt handler runs at priority level APP_LOW.
- Configure the data for the tag. You can provide the data as NDEF message (recommended, see NFC Data Exchange Format) or as a raw TLV structure (advanced usage, see Type 2 Tag data format).
- Set an NDEF message:
uint8_t ndef_msg_buf[] = ...;
uint32_t len = sizeof(ndef_msg_buf);
ret_val = nfcSetPayload( (char*)ndef_msg_buf, len);
if (ret_val != NFC_RETVAL_OK)
{
}
- Alternatively, set a TLV structure:
uint8_t tlv_buf[] = ...;
uint32_t len = sizeof(tlv_buf);
ret_val = nfcSetPayloadRaw( (char*)tlv_buf, len);
if (ret_val != NFC_RETVAL_OK)
{
}
- Activate the NFC tag so that it starts sensing and reacts when an NFC field is detected:
ret_val = nfcStartEmulation();
if (ret_val != NFC_RETVAL_OK)
{
}