android - 有谁知道这个 NFC 命令是什么意思?
问题描述
我正在尝试制作一个可以被我的智能手机读取的模拟标签。我将 DLP7970A 与 sloa 224 API(运行 P401_TRF7970A_ALL_NFC_MODES 的 API)和 MSP432P401R Launchpad 一起使用来模拟 T4TA 标签。这是主要功能:
void main(void)
{
tTRF79x0_IRQFlag interrupcion;
tNfcState eTempNFCState;
GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);
GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN1);
//Enable interrupts globally
__enable_interrupt();
// Initialize MCU
MCU_init();
// Initialize Debug Pins as output
NFC_RF_FIELD_LED_DIR |= NFC_RF_FIELD_LED_BIT;
NFC_RW_LED_PDIR |= NFC_RW_LED_BIT;
NFC_CE_LED_PDIR |= NFC_CE_LED_BIT;
// Clear NFC pins
NFC_RF_FIELD_LED_POUT &= ~NFC_RF_FIELD_LED_BIT;
NFC_RW_LED_POUT &= ~NFC_RW_LED_BIT;
NFC_P2P_LED_POUT &= ~NFC_P2P_LED_BIT;
NFC_CE_LED_POUT &= ~NFC_CE_LED_BIT;
// Initialize USB Communication
// Serial_init();
// Initialize TRF7970
TRF79x0_init();
//Buttons_init(BUTTON_ALL);
//Buttons_interruptEnable(BUTTON_ALL);
TRF79x0_idleMode();
// Initialize the NFC Controller
NFC_init();
// This function will configure all the settings for each protocol
NFC_configuration();
// Initialize Type 4 Tag RTD Message
T4T_CE_initNDEF();
// Initialize IDs for NFC-A, NFC-B and NFC-F
NFC_initIDs();
//
NFC_A_init();
tIsoDepState DEPState;
while (1){
eTempNFCState = NFC_run(); //This handles anti-collision procedure
if ( eTempNFCState == NFC_DATA_EXCHANGE_PROTOCOL){
if ((NFC_A_isTargetSelected(0x01) == STATUS_SUCCESS)|| //checks if the TRF7970 is in PICC mode
(NFC_A_isTargetSelected(0x02) == STATUS_SUCCESS))
{
interrupcion = NFC_waitForCommand(500);
if (interrupcion == IRQ_STATUS_RX_COMPLETE){
getBuffer(TRF79x0_getNfcBuffer()); //Gets the NFC buffer
GPIO_toggleOutputOnPin( GPIO_PORT_P2,GPIO_PIN1); //just to put a breakpoint to check RX buffer
}
}
}else
GPIO_toggleOutputOnPin( GPIO_PORT_P1,GPIO_PIN0);
}
}
这是我使用的 getBuffer 函数和它修改的变量:
uint8_t bufferRX[16];
void getBuffer (uint8_t *buffer){
int i;
for (i = 0 ; i < sizeof(buffer) ; i++){
bufferRX[i]= buffer[i];
}
}
我得到bufferRX[16]
的是这个序列(接收到的字节是 6): 0xC280080102A8 认为这是一个 NDEF 扇区选择命令有点道理,因为它以 C2 开头并包含我的卡 ID(0x080102A8),但据我所知扇区选择命令以 0xC2FF 而不是 0xC280 开头。我检查了 NFC 论坛上的所有文档,但仍然找不到该类型的命令。我无法继续,因为我不知道如何继续,并且 API 无法正确处理该命令。有谁知道来自我的 Android 手机的命令可能意味着什么?提前致谢。
解决方案
推荐阅读
- xamarin - 从 HttpClient 响应 (POST) 中读取特定标头
- javascript - YouTube 自动播放解决方法?
- sqlite - 为什么我的 sqlalchemy/sqlite 更新这么慢?
- r - 将一行拆分为多行并出现变异错误
- php - Postman 的 GET 请求未显示 JSON 输出
- php - Symfony 3.4 - 刷新页面时会话丢失
- google-cloud-datastore - Firestore 更新的费用是否与写入费用相同?
- android - 不使用 adb 从设备内部存储中删除文件夹?
- neo4j - 如何在 NEO4J 中创建友谊图
- reactjs - React 路由器是如何工作的,和之间有什么区别