ndef
头文件清单
#include "include/middleware/services/nfc/controller/nfc_ndef.h"
#include "include/middleware/services/nfc/controller/nfc_ndef_t2t.h"
#include "include/middleware/services/nfc/controller/nfc_ndef_t3t.h"
#include "include/middleware/services/nfc/controller/nfc_ndef_t4t.h"
#include "include/middleware/services/nfc/controller/nfc_ndef_t5t.h"
接口清单
| 接口名称 | 功能简述 |
|---|---|
| NFC_NDEF_T2TResetProc | T2T NDEF模块状态重置 |
| NFC_NDEF_T2TReadProc | T2T NDEF读流程,读取标签NDEF数据 |
| NFC_NDEF_T2TWriteProc | T2T NDEF写流程,写入标签NDEF数据 |
| NFC_NDEF_T4TResetProc | T4T NDEF模块状态重置 |
| NFC_NDEF_T4TReadProc | T4T NDEF读流程,读取标签NDEF数据 |
| NFC_NDEF_T4TWriteProc | T4T NDEF写流程,写入标签NDEF数据 |
| NFC_NDEF_T3TResetProc | T3T NDEF模块状态重置 |
| NFC_NDEF_T3TReadProc | T3T NDEF读流程,读取标签NDEF数据 |
| NFC_NDEF_T3TWriteProc | T3T NDEF写流程,写入标签NDEF数据 |
| NFC_NDEF_ResetProc | TAG NDEF模块状态重置 |
| NFC_NDEF_ReadProc | TAG NDEF读流程,读取标签NDEF数据 |
| NFC_NDEF_WriteProc | TAG NDEF写流程,写入标签NDEF数据 |
| NFC_NDEF_T5TResetProc | T5T NDEF模块状态重置 |
| NFC_NDEF_T5TReadProc | T5T NDEF读流程,读取标签NDEF数据 |
| NFC_NDEF_T5TWriteProc | T5T NDEF写流程,写入标签NDEF数据 |
Functions
NFC_NDEF_T2TResetProc
头文件清单
功能说明
- T2T NDEF模块状态重置接口,用于将T2T标签的NDEF处理模块恢复到初始状态
- 调用后清除T2T NDEF模块内部缓存及状态标记,为后续读写操作做准备
- 在开始新的NDEF读写流程之前调用,确保模块处于已知初始状态
NFC_NDEF_T2TReadProc
头文件清单
功能说明
- T2T标签NDEF数据读取接口,从T2T类型标签中读取NDEF格式数据
- 输入参数readLen表示缓冲区大小,输出参数readLen表示实际读取到的NDEF数据长度
- 返回NFC_OK表示读取成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| readBuff | uint8_t * | 用于接收数据的存储空间 | 非NULL,指向的内存空间已申请成功 |
| readLen | uint16_t * | 作为输入参数,代表存储空间的大小;作为输出参数,代表所读NDEF内容的大小 | 非NULL,输入值表示缓冲区大小 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| readBuff | uint8_t * | 读取到的NDEF数据内容 |
| readLen | uint16_t * | 实际读取到的NDEF数据长度 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T2T NDEF数据读取成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T2TWriteProc
头文件清单
功能说明
- T2T标签NDEF数据写入接口,将NDEF格式数据写入T2T类型标签
- 输入参数writeBuff指定待写入的数据内容,writeLen指定写入数据的字节长度
- 返回NFC_OK表示写入成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| writeBuff | const uint8_t * | 所要写入的内容 | 非NULL |
| writeLen | uint16_t | 写入内容的大小 | 大于0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T2T NDEF数据写入成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T4TResetProc
头文件清单
功能说明
- T4T NDEF模块状态重置接口,用于将T4T标签的NDEF处理模块恢复到初始状态
- 调用后清除T4T NDEF模块内部缓存及状态标记,为后续读写操作做准备
- 在开始新的NDEF读写流程之前调用,确保模块处于已知初始状态
NFC_NDEF_T4TReadProc
头文件清单
功能说明
- T4T标签NDEF数据读取接口,从T4T类型标签中读取NDEF格式数据
- 输入参数readLen表示缓冲区大小,输出参数readLen表示实际读取到的NDEF数据长度
- 返回NFC_OK表示读取成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| readBuff | uint8_t * | 用于接收数据的存储空间 | 非NULL,指向的内存空间已申请成功 |
| readLen | uint16_t * | 作为输入参数,代表存储空间的大小;作为输出参数,代表所读NDEF内容的大小 | 非NULL,输入值表示缓冲区大小 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| readBuff | uint8_t * | 读取到的NDEF数据内容 |
| readLen | uint16_t * | 实际读取到的NDEF数据长度 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T4T NDEF数据读取成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T4TWriteProc
头文件清单
功能说明
- T4T标签NDEF数据写入接口,将NDEF格式数据写入T4T类型标签
- 输入参数writeBuff指定待写入的数据内容,writeLen指定写入数据的字节长度
- 返回NFC_OK表示写入成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| writeBuff | const uint8_t * | 所要写入的内容 | 非NULL |
| writeLen | uint16_t | 写入内容的大小 | 大于0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T4T NDEF数据写入成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T3TResetProc
头文件清单
功能说明
- T3T NDEF模块状态重置接口,用于将T3T标签的NDEF处理模块恢复到初始状态
- 需要传入F技术的参数结构体,用于初始化T3T NDEF模块的通信参数
- 返回NFC_OK表示重置成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | const NfcTechFParams * | F技术的参数结构体 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T3T NDEF模块重置成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T3TReadProc
头文件清单
功能说明
- T3T标签NDEF数据读取接口,从T3T类型标签中读取NDEF格式数据
- 输入参数readLen表示缓冲区大小,输出参数readLen表示实际读取到的NDEF数据长度
- 返回NFC_OK表示读取成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| readBuff | uint8_t * | 用于接收数据的存储空间 | 非NULL,指向的内存空间已申请成功 |
| readLen | uint16_t * | 作为输入参数,代表存储空间的大小;作为输出参数,代表所读NDEF内容的大小 | 非NULL,输入值表示缓冲区大小 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| readBuff | uint8_t * | 读取到的NDEF数据内容 |
| readLen | uint16_t * | 实际读取到的NDEF数据长度 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T3T NDEF数据读取成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T3TWriteProc
头文件清单
功能说明
- T3T标签NDEF数据写入接口,将NDEF格式数据写入T3T类型标签
- 输入参数writeBuff指定待写入的数据内容,writeLen指定写入数据的字节长度
- 返回NFC_OK表示写入成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| writeBuff | const uint8_t * | 所要写入的内容 | 非NULL |
| writeLen | uint16_t | 写入内容的大小 | 大于0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T3T NDEF数据写入成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_ResetProc
头文件清单
功能说明
- TAG NDEF统一重置接口,根据NFC接口激活信息中携带的技术类型,分发到对应标签类型的NDEF重置流程
- 输入参数nfcIntfActInfo包含接口激活时的技术参数,用于确定当前标签类型
- 返回NFC_OK表示重置成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| nfcIntfActInfo | const NfcIntfActInfo * | NFC接口激活信息结构体 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | TAG NDEF模块重置成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_ReadProc
头文件清单
功能说明
- TAG NDEF统一读取接口,从当前已激活的NFC标签中读取NDEF格式数据
- 输入参数ndefLen表示缓冲区大小,输出参数ndefLen表示实际读取到的NDEF数据长度
- 返回NFC_OK表示读取成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ndefBuff | uint8_t * | 用于接收数据的存储空间 | 非NULL,指向的内存空间已申请成功 |
| ndefLen | uint16_t * | 作为输入参数,代表存储空间的大小;作为输出参数,代表所读NDEF内容的大小 | 非NULL,输入值表示缓冲区大小 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ndefBuff | uint8_t * | 读取到的NDEF数据内容 |
| ndefLen | uint16_t * | 实际读取到的NDEF数据长度 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | TAG NDEF数据读取成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_WriteProc
头文件清单
功能说明
- TAG NDEF统一写入接口,将NDEF格式数据写入当前已激活的NFC标签
- 输入参数ndefBuff指定待写入的数据内容,ndefLen指定写入数据的字节长度
- 返回NFC_OK表示写入成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ndefBuff | const uint8_t * | 所要写入的内容 | 非NULL |
| ndefLen | uint16_t | 写入内容的大小 | 大于0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | TAG NDEF数据写入成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T5TResetProc
头文件清单
功能说明
- T5T NDEF模块状态重置接口,用于将T5T标签的NDEF处理模块恢复到初始状态
- 需要传入V技术的参数结构体,用于初始化T5T NDEF模块的通信参数
- 返回NFC_OK表示重置成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | const NfcTechVParams * | V技术的参数结构体 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T5T NDEF模块重置成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T5TReadProc
头文件清单
功能说明
- T5T标签NDEF数据读取接口,从T5T类型标签中读取NDEF格式数据
- 输入参数readLen表示缓冲区大小,输出参数readLen表示实际读取到的NDEF数据长度
- 返回NFC_OK表示读取成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| readBuff | uint8_t * | 用于接收数据的存储空间 | 非NULL,指向的内存空间已申请成功 |
| readLen | uint16_t * | 作为输入参数,代表存储空间的大小;作为输出参数,代表所读NDEF内容的大小 | 非NULL,输入值表示缓冲区大小 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| readBuff | uint8_t * | 读取到的NDEF数据内容 |
| readLen | uint16_t * | 实际读取到的NDEF数据长度 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T5T NDEF数据读取成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
NFC_NDEF_T5TWriteProc
头文件清单
功能说明
- T5T标签NDEF数据写入接口,将NDEF格式数据写入T5T类型标签
- 输入参数writeBuff指定待写入的数据内容,writeLen指定写入数据的字节长度
- 返回NFC_OK表示写入成功,其他值表示失败
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| writeBuff | const uint8_t * | 所要写入的内容 | 非NULL |
| writeLen | uint16_t | 写入内容的大小 | 大于0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| NFC_OK(0x00) | 执行成功 | T5T NDEF数据写入成功 |
| Other | 其他错误码,参考NfcErrorCode | 执行失败 |
Type definitions
NfcErrorCode
使用说明
NFC模块错误码类型定义,在NFC_NDEF_T2TReadProc、NFC_NDEF_T2TWriteProc、NFC_NDEF_T4TReadProc、NFC_NDEF_T4TWriteProc、NFC_NDEF_T3TResetProc、NFC_NDEF_T3TReadProc、NFC_NDEF_T3TWriteProc、NFC_NDEF_ResetProc、NFC_NDEF_ReadProc、NFC_NDEF_WriteProc、NFC_NDEF_T5TResetProc、NFC_NDEF_T5TReadProc、NFC_NDEF_T5TWriteProc接口中作为返回值类型使用
Structures
NfcTechFParams
typedef struct {
uint8_t bitRate;
uint8_t sensfResLen;
uint8_t sensfRes[SENSF_RES_MAX_LEN];
} NfcTechFParams;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| bitRate | uint8_t | 技术F的速率 |
| sensfResLen | uint8_t | 技术F的轮询感应回复长度 |
| sensfRes | uint8_t[SENSF_RES_MAX_LEN] | 技术F的轮询感应回复,头部8个字节是NFCID2 |
NfcIntfActInfo
typedef struct {
uint8_t interface;
uint8_t protocol;
uint8_t techMode;
NfcTechParams techParams;
} NfcIntfActInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| interface | uint8_t | NCI接口,参考NFC_NCI_RF_INTERFACE_ENUM |
| protocol | uint8_t | NCI协议,参考NFC_NCI_RF_PROTOCOL_ENUM |
| techMode | uint8_t | NCI技术模式,参考NFC_NCI_RF_TECH_MODE_ENUM |
| techParams | NfcTechParams | NFC技术的参数联合体 |
NfcTechVParams
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| resFlag | uint8_t | 回复的标记字节信息 |
| dsfid | uint8_t | DSFID参数信息 |
| uid | uint8_t[UID_LEN] | UID信息,长度参考UID_LEN |
Associations
NfcTechParams
typedef union {
NfcTechAParams a;
NfcTechBParams b;
NfcTechFParams f;
NfcTechVParams v;
} NfcTechParams;
| 成员名称 | 类型 | 描述 | 接口使用逻辑 |
|---|---|---|---|
| a | NfcTechAParams | 技术A的参数信息 | NfcIntfActInfo结构体成员 |
| b | NfcTechBParams | 技术B的参数信息 | NfcIntfActInfo结构体成员 |
| f | NfcTechFParams | 技术F的参数信息 | NfcIntfActInfo结构体成员,NFC_NDEF_T3TResetProc入参引用 |
| v | NfcTechVParams | 技术V的参数信息 | NfcIntfActInfo结构体成员,NFC_NDEF_T5TResetProc入参引用 |