完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
嗨先生/女士,
ST95HF读取其对等NFC设备后,ST95HF RF字段自动关闭。我必须使用以下函数再次初始化它: ISO14443A_Init(); ISO14443A_IsPresent(); ISO14443A_Anticollision();我可以知道如何禁止这种情况发生。因为当发生这种情况时,ST95HF提供的RF场不稳定,对等NFC设备无法通过ST95HF顺利读取。我是否知道即使我已完成对同行NFC RF接口的读写操作,如何使ST95HF RF场持续开启? 感谢您的建议。 请尽快回复。 谢谢。 干杯, KF #nfc-transceiver-ics --- xx95hf #nfc #nfc-transceiver-ics --- xx95hf |
|
相关推荐
8个回答
|
|
你好,
我们需要有关您的设置的更多详细信息以帮助您。 1.您在ST95HF上使用哪种固件? 2.什么是对等设备?另一款ST95HF,智能手机? >如果您使用的是智能手机,您使用的应用程序是什么? 3.您知道您是否正在使用对等的ST专有实现吗? 谢谢&问候。 |
|
|
|
|
|
|
|
你好ST支持,
我知道ST95HF从其对等NFC设备读取数据后ST95HF会发生什么变化吗? 在ST95HF完成读取操作后,我可以知道是什么关闭了ST95HF射频场吗? 在ST95HF从其对等NFC读取数据后,ST95HF是否仍处于就绪状态且处于读卡器状态?在我的代码中,由ST提供,我不会在读取功能后关闭RF字段。但我必须在每个Read语句之前将其打开,否则我将得到超时(0x87)。 请尽快帮忙。 非常感谢你。非常感激你的帮助。 干杯, KF 请参阅以下内容以获取答案。谢谢。 1.您在ST95HF上使用的是哪种固件?我可以知道您需要的固件信息是什么?我使用的是连接到ST M3微控制器的ST95HF。 ST95HF软件从互联网上下载。 例如:drv_95HF.c ---->作者是MMY应用团队 ---->版本V4.0.0 ---->日期是02/06/2014 ----> brief:该文件提供了一组驱动程序功能来管理MCU和xx95HF芯片(RX95HF,CR95HF或ST95HF)之间的通信 < H2><中心],[&安培;副本; COPYRIGHT 2014 STMicroelectronics< / center>< / h2> * *根据MMY-ST Liberty SW许可协议V2(“许可证”)获得许可; *除非符合许可,否则您不得使用此文件。 *您可以在以下位置获取许可证副本: * * http://www.st.com/software_license_agreement_liberty_v2 * *除非适用法律要求或书面同意,否则软件 *根据许可证分发,按“原样”分配, *不附带任何明示或暗示的保证或条件。 *有关管理权限的特定语言,请参阅许可证 *许可证下的限制。 2.什么是对等设备?另一台ST95HF,一台智能手机?我的对等设备是NXP NTAG 1K,它连接到ST M3微控制器。 >如果您使用的是智能手机,您使用的应用程序是什么? 3.您知道您是否正在使用对等的ST专有实现吗? 不,我没有触及ST专有的任何东西,因为我没有使用文件lib_proprietaryP2P.c中的任何内容。谢谢&问候。 |
|
|
|
你好,
很抱歉迟到的回复,我们目前遇到论坛通知的麻烦... 感谢您提供的其他信息。 我对您的设置的理解如下: 1. ST95HF成功读取恩智浦NTAG。 2.您之后尝试从ST95HF进行额外读取,由于ST95HF RF场已关闭,因此无法读取。 如果您正在使用ST演示函数TagReading()而不做任何修改,则此函数会在退出前关闭RF字段:PCD_FieldOff(); 但是,如果使用TagReading()函数重新尝试读取,则它应该在ConfigManager_TagHunting(TRACK_ALL)过程再次打开RF字段时起作用。 如果您没有使用TagReading()函数进行第二次读取,那么您必须重新执行第一条消息中提到的init进程。 如果你根本没有使用TagReading()函数,这里是你可以使用的代码: ISO14443A_Init(); if(ISO14443A_IsPresent()== RESULTOK) { if(ISO14443A_Anticollision()== RESULTOK) { if(((ISO14443A_Card.SAK& 0x60)== 0x00))/ * TT2 * / TagType = TRACK_NFCTYPE2; } } / *这是第一次阅读* / PCDNFCT2_ReadNDEF() delay_ms(3000); / *这是3s延迟后的第二次读取* / PCDNFCT2_ReadNDEF() 如果您没有将消息格式化为NDEF,则可以使用PCDNFCT2_Read()函数。 如果这对您的问题有任何帮助,请告诉我。 问候。 |
|
|
|
嗨ST支持,
我有另一个问题。我需要你的帮助。请帮帮我 (1)我正在努力解决为什么ST95第二次无法读取会话寄存器而不进行另一轮ISO14443A_Init(),ISO14443A_IsPresent()和ISO14443A_Anticollision()。 NTAG没有回应。 (2)即使我重做ISO14443A_Init(),ISO14443A_IsPresent()和ISO14443A_Anticollision()。或统称为RF场ON,它将在ISO14443A_IsPresent()失败。它将在REQ A(0x2607)失败,等待NTAG响应时超时。但是,如果我这样做:ISO14443A_Init(),ISO14443A_IsPresent(),ISO14443A_IsPresent()和ISO14443A_Anticollision()。 ,它会成功。原因是:errchk(ISO14443A_REQA(pDataRead));如果两次发送给NTAG,它将仅第二次从NTAG接收数据。 REQA的第一次可能是错误的值,例如0x0000。但第二次必须是正确的值0x2607。只有通过这种方式,才能使REQA获得成功。 (3)根据NFC资源,REQA实际上只有0x26。在0x26之后,我可以知道0x07的含义是什么意思。 (4)我提出这个问题的原因是:每次,在通过NTAG和ST95之间的通信时,我需要做以下事情: (a)读取会话寄存器后的字段ON。 (b)读取NTAG映射SRAM之前和之后的字段ON。 (c)写入NTAG映射SRAM之前和之后的字段ON。 我也使用相同的方法读/写NTAG镜像SRAM。 如果没有这种方法,NTAG RF接口(ST95)将表现异常。 请尽快回复。 非常感谢你。 干杯, KF |
|
|
|
/ * NfcApp__ISO14443AFieldOn * /
ISO14443A_Init(); ISO14443A_IsPresent(); ISO14443A_Anticollision(); delay_ms(10); / * ------------------------------------------- -------------------------------------------------- ------------ * / / * NfcApp__ReadNtagSessionRegister - 字段ON后首次读取* / / *选择部门* / PCDNFCT2_SectorSelect(0×03); / *开始阅读* / PCDNFCT2_Read(0xF8的,session_0xF8); / * 0xF8是来自RF接口的NXP NTAG会话寄存器* / / *以上读取成功* / / * ------------------------------------------------ -------------------------------------------------- ------- * / / * NfcApp__ReadNtagSessionRegister - 第二次读取没有字段ON * / / *选择部门* / PCDNFCT2_SectorSelect(0×03); / *开始阅读* / PCDNFCT2_Read(0xF8的,session_0xF8); / * 0xF8是来自RF接口的NXP NTAG会话寄存器* / / *以上读取失败。它需要再次打开才能读取成功* / / * ------------------------------------------------ -------------------------------------------------- ------- * / 返回; |
|
|
|
嗨KF,
感谢您的更新! 请在下面找到我对你提出的观点的答案: (1)会话寄存器是竞争对手特定的寄存器,我无法提供任何支持。您是否可以使用符合ISO / NFC标准的内存区域进行相同的测试?在我这边,我尝试了上面的代码,读取了Type2 Tag数据内存,两次读取都成功了。请让我知道你身边的状态。 (2)REQA命令不应该在ISO14443A防冲突过程中被调用两次(除非该字段已被关闭),这可以解释为什么当你回想起你的标签没有响应时 ISO14443A_ IsPresent()函数。此外,ISO14443A定义了2个REQA命令之间的请求保护时间(7000 / fc),但是根据您的描述,我认为这个时序已经满足。(3)附加的0x07是传输标志,它不在RF上传输但是在命令发送时向CR95HF提供附加信息。该字节在CR95HF数据表中描述,表14:传输标志位[3:0]:最后一个字节中的有效位数。 (4)您描述的功能不在ISO14443A中,因此可能会导致互操作性问题。如果您使用此功能的目的是摆脱eeprom写入延迟,我可能会建议您尝试这个新的ST产品: http://www.st.com/content/st_com/en/products/nfc/st25-nfc-rfid-tags-readers/st25-dynamic-nfc-tags/st25dv-series-dynamic-nfc-tags/st25dv04k。 HTML 该动态标签提供了一种有效的快速传输模式,可在阅读器和主机之间快速轻松地进行数据交换。 最好的祝福。 |
|
|
|
嗨ST支持7,
非常感谢您的帮助。非常感谢它。 我已经检查并再次检查我的代码并发现一个小错误,导致这种奇怪的症状。 在读取NTAG时,我错过了一个选择正确扇区的声明,因为我认为在读完之后它会自动切换到正确的扇区。通过纠正这个错误,我已经解决了我的主要问题,尽管还有一些小问题悬而未决。项目现在考虑完成。 再一次,非常感谢你的帮助。 2017年新年快乐团队。 2017年5月对你们来说是美好的一年! 干杯! KF |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2642 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3611 浏览 6 评论
5989 浏览 21 评论
939浏览 4评论
1316浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
584浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1303浏览 3评论
1361浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 18:20 , Processed in 1.283167 second(s), Total 93, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号