2024年2月28日发(作者:戏雪晴)
1. 首先须初始化PDA设备:
bool RF_ISO14443A_init();
功能:ISO14443A模块初始化;
返回:true 成功;false 失败;
void RF_ISO14443A_free();
功能:ISO14443A模块资源释放
返回:无;
2. 设置端口波特率为115200,避免挂起之后波特率不正确导致读卡失败
bool SerialPortFunctionSwitch_Ex(int iModule);
功能:功能模块间相互切换(针对RFID、条码),必须在上电之后使用该指令;
参数:int iModule功能模块;
范围:0 RFID;1 条码;
返回:true 成功;false 失败;
3. 选择RFID模式
int RF_ModeSwitch(int iMode);
功能:RFID模式切换(需执行该命令之后才可进行相应卡操作,默认ISO14443A模式);
参数:int iMode RFID模式;
范围:0 ISO14443A;1 ISO14443B;2 ISO15693;
返回:0 成功;其他失败;
4. 发送电子标签寻卡请求
int RF_ISO14443A_request(int iMode, UINT8 *pszATQA);
功能:呼叫天线区内的电子标签;
参数:int iMode 呼叫模式(0 呼叫未进入休眠状态电子标签;1 呼叫所有状态电子标签)
UINT8 *pszATQA 返回ATQA信息;
返回:0 成功;其他失败;
if ((pszATQA[1] == 0x44) && (pszATQA[2] == 0x00))
{
= "ultra_light";
}
else if ((pszATQA[1] == 0x04) && (pszATQA[2] == 0x00))
{
= "Mifare_One(S50)";
}
else if ((pszATQA[1] == 0x02) && (pszATQA[2] == 0x00))
{
= "Mifare_One(S70)";
}
else if ((pszATQA[1] == 0x44) && (pszATQA[2] == 0x03))
{
= "Mifare_DESFire";
}
else if ((pszATQA[1] == 0x08) && (pszATQA[2] == 0x00))
{
= "Mifare_Pro";
}
else if ((pszATQA[1] == 0x04) && (pszATQA[2] == 0x03))
{
= "Mifare_ProX";
}
2024年2月28日发(作者:戏雪晴)
1. 首先须初始化PDA设备:
bool RF_ISO14443A_init();
功能:ISO14443A模块初始化;
返回:true 成功;false 失败;
void RF_ISO14443A_free();
功能:ISO14443A模块资源释放
返回:无;
2. 设置端口波特率为115200,避免挂起之后波特率不正确导致读卡失败
bool SerialPortFunctionSwitch_Ex(int iModule);
功能:功能模块间相互切换(针对RFID、条码),必须在上电之后使用该指令;
参数:int iModule功能模块;
范围:0 RFID;1 条码;
返回:true 成功;false 失败;
3. 选择RFID模式
int RF_ModeSwitch(int iMode);
功能:RFID模式切换(需执行该命令之后才可进行相应卡操作,默认ISO14443A模式);
参数:int iMode RFID模式;
范围:0 ISO14443A;1 ISO14443B;2 ISO15693;
返回:0 成功;其他失败;
4. 发送电子标签寻卡请求
int RF_ISO14443A_request(int iMode, UINT8 *pszATQA);
功能:呼叫天线区内的电子标签;
参数:int iMode 呼叫模式(0 呼叫未进入休眠状态电子标签;1 呼叫所有状态电子标签)
UINT8 *pszATQA 返回ATQA信息;
返回:0 成功;其他失败;
if ((pszATQA[1] == 0x44) && (pszATQA[2] == 0x00))
{
= "ultra_light";
}
else if ((pszATQA[1] == 0x04) && (pszATQA[2] == 0x00))
{
= "Mifare_One(S50)";
}
else if ((pszATQA[1] == 0x02) && (pszATQA[2] == 0x00))
{
= "Mifare_One(S70)";
}
else if ((pszATQA[1] == 0x44) && (pszATQA[2] == 0x03))
{
= "Mifare_DESFire";
}
else if ((pszATQA[1] == 0x08) && (pszATQA[2] == 0x00))
{
= "Mifare_Pro";
}
else if ((pszATQA[1] == 0x04) && (pszATQA[2] == 0x03))
{
= "Mifare_ProX";
}