我正在尝试使用 C/C++ (QT) 开发一个应用程序,以使用 STR25R3111DISCOComm DLL 执行带有 STDV04 标签的 ISO 15693 R2H FTM 数据传输。我能够链接到 DLL,连接到 DISCO 板并使用我自己的代码对我的标签执行被动读取。我还能够使用 ST 标签编辑器成功执行 FTM 传输。但完全不清楚我是如何使用 DLL 在我的代码中执行这些传输的。
以下是我希望执行的传输类型的 ST25DV FTM 演示的日志。我如何用 DLL 调用重现它?
我尝试使用 iso15693TxRxNBytes() 发送由 ST25R3911B_SENDRECEIVE 命令发送的正在记录的数据,但是当我开始发送命令 0xAA 时,我总是收到 INVALID_CRC 错误。
阅读其他帖子,我想我需要使用 rfalStartTransceive() / rfalGetTransceiveStatus() 命令,但我无法锻炼我实际需要发送的内容。他们总是只返回表明我发送错误的数据,或者没有正确设置的数据。
(响应:01020000000000000000000000000000 例如,我相信 0102 是未知命令?)
请给我一些关于如何使用 DLL 复制此命令的想法:
ST25R3911B_SENDRECEIVE, 02 AA 02 12 03 00 00 01 00 00 00 06 00 01 00 01 06 26 30 30 3A 0D 0A
我搜索了所有我能想到的地方,并阅读了很多关于这个主题的帖子,但我就是找不到任何能为我提供足够信息来让它发挥作用的东西。
几行示例调用会很棒,我查看了 ST25R3911B Discovery GUI 附带的所有演示代码和谷歌找到的一些东西,但没有发现任何东西可以帮助我理解我需要做什么或我做错了什么。
- 05-20-2022 09:31:00 ST25R3911B CONFIGURAtiON : ISO15693 100% HIGH DATARATE ONE SUBCARRIER
- >>> ST25R3911B_PROTOCOL_SELECT, 0109
- <<< 0000
- 05-20-2022 09:31:14 FILE SELECTED
- >>> C:Userstim_nDocumentsMessage00 - Ident.bin
- 05-20-2022 09:31:14 FILE CRC
- >>> AF91E5A9
- 05-20-2022 09:31:35 FILE SELECTED
- >>> C:Userstim_nDocumentsMessage00 - Ident.bin
- 05-20-2022 09:31:35 FILE CRC
- >>> AF91E5A9
- 05-20-2022 09:31:38 ---- STARTING FIRMWARE UPGRADE DEMO ----
- 05-20-2022 09:31:38 -> DEMO SETTING :
- 05-20-2022 09:31:38 PRESENT PASSWORD CONFIG
- >>> ST25R3911B_SENDRECEIVE, 02B302000000000000000000
- <<< 80040078F000
- 05-20-2022 09:31:38 WRITE CONFIG GPO = B0
- >>> ST25R3911B_SENDRECEIVE, 02A10200B0
- <<< 80040078F000
- 05-20-2022 09:31:38 WRITE CONFIG MB_EN = 01
- >>> ST25R3911B_SENDRECEIVE, 02A1020D01
- <<< 80040078F000
- 05-20-2022 09:31:38 WRITE CONFIG MB_WDG = 00
- >>> ST25R3911B_SENDRECEIVE, 02A1020E00
- <<< 80040078F000
- 05-20-2022 09:31:38 WRITE DYN REGISTER @00
- >>> ST25R3911B_SENDRECEIVE, 02AE020D00
- <<< 80040078F000
- 05-20-2022 09:31:38 WRITE DYN REGISTER @01
- >>> ST25R3911B_SENDRECEIVE, 02AE020D01
- <<< 80040078F000
- 05-20-2022 09:31:38 -> STARTING DOWNLOADING FIRMWARE
- 05-20-2022 09:31:38 SEND FRAME (NUMBER : 1)
- >>> ST25R3911B_SENDRECEIVE, 02 AA 02 12 03 00 00 01 00 00 00 06 00 01 00 01 06 26 30 30 3A 0D 0A
- <<< 80040078F000
- 05-20-2022 09:31:38 POLLING ON DYN REG UNTIL HOST READ MSG
- >>> ST25R3911B_SENDRECEIVE, 02AD020D
- <<< 80050043D87F00 43
- 05-20-2022 09:31:38 READ MESSAGE & CRC :
- >>> ST25R3911B_SENDRECEIVE, 02AC020000
- <<< 800D000301000004A9E591AFEA2F00
- 05-20-2022 09:31:38 ---> CRC SENT BY HOST= A9E591AF
- ---> CRC COMPARISON OK
- ---> TRANSFER DONE SUCCESSFULLY
- 05-20-2022 09:31:38 SEND ACKNOWLEDGE :
- >>> ST25R3911B_SENDRECEIVE, 02AA02040302000000
- <<< 80040078F000
- 05-20-2022 09:31:38 --------------- FILE TRANSFER ENDED ---------------