完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试使用 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 附带的所有演示代码和谷歌找到的一些东西,但没有发现任何东西可以帮助我理解我需要做什么或我做错了什么。
|
|
相关推荐
1个回答
|
|
您可能只是遇到了缓冲区问题。对 AA 命令的响应比之前对其他命令的响应长一个字节。在 ST25R3911B 中,需要在软件中检查 NFC-V 的 CRC,为此还需要将其接收到用户提供的缓冲区中。如果没有足够的空间来放置 CRC,板上的固件将标记 CRC 错误。
我将上述字符串输入 ISO15693 选项卡上的 ST25R3911B-DISCO,它正在工作(使用 iso15693TxRxNBytes())。 使用 iso15693TxRxNBytes() 应该没问题,它只是 rfalStartTransceive()/GetTransceiveStatus() 的遗留粘合层。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
1955 浏览 1 评论
2673 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1557 浏览 1 评论
3113 浏览 6 评论
5551 浏览 21 评论
531浏览 4评论
942浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
348浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
910浏览 3评论
867浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-26 09:57 , Processed in 1.517042 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191