NFC的P2P通信简介
最近做了一个NFC的项目,差不多做完了总结一下。NFC这一块网上的资料比较多,但是关于NFC的P2P通信的比较少,确实现实中很少有项目会用NFC来进行通信。我这个项目是在STM32F103上进行开发的搭配PN532模块进行通信。
既然要通信首先要了解NFC的通信协议,首先参考了百度文库中两篇文章,分别是《PN532学习笔记》、《PN5332命令格式》其中重点是参考了文章所介绍的通信流程,他们两篇文章中关于命令格式的介绍在实际的开发中有错误的地方,不注意的话会掉进坑里,前期我也是直接根据他们的命令格式来操作的实际结果并非如此,具体的通信流程自己用NFC的上位机调试软件配合串口监视来监听分析就好了(上位机软件用的科星的两个上位机调试软件,确实帮助很大,但是需要注意那个上位机软件的监视数据也是有不对的,需要自己串口监视真正的数据包结构)。代码参考了科星NFC读卡的代码改的P2P通信代码。具体可以简化为4个流程,第一步唤醒PN532模块、第二步配置PN532模块设备(PN532分为主端和从端两种方式)、第三部接受消息、第四步发生消息。
在通信时需要注意的是在上电后唤醒模块后不需要重复唤醒,但是每次不论接受还是发生数据都需要初始化为从设备。唤醒模块->初始化为从设备->接收数据或者唤醒模块->初始化为从设备->发送数据,每跑完一个流程都需要重复操作。PN532模块不能发大数据,我测试的最大只能发146个字节,除非极特殊的情况下才回去考虑使用它。
网友评论