nfc模块pn7150移植说明教程(android mtk rk3399 rk3588)

本文主要介绍android7.1.1平台的移植流程,硬件是rockchip3399,其他平台可能会存在些差异。

一、驱动移植

        1.驱动源码下载路径:          https://github.com/NXPNFCProject/NXPNFC_I2CDriver/tree/master/pn6xT/pn54x-i2c        

        2.dts配置,gpio部分根据实际电路配置即可:

       pn547: pn547@28 {
             compatible = "nxp,pn547";
              reg = <0x28>;
              status = "okay";
             clock-frequency = <400000>;
             interrupt-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
             firmware-gpios= <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
             enable-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
        };

         3.config中加入CONFIG_NFC=y  CONFIG_NFC_NXP_PN5XX=y       

二、lib库更换

        1.下载源码,clone后记得将版本切换至对应的系统平台,我这里是br_android_ncihalx_n

             https://github.com/ NXPNFCProject/NFC_NCIHAL_libnfc-nci

        2.将SDK中的库源码删除后用上述代码替代,源路径为external/libnfc-nci/

三、android NFC服务APP更换

        1.下载源码,clone后记得将版本切换至对应的系统平台,我这里是br_android_ncihalx_n

        https://github.com/NXPNFCProject/NFC_NCIHAL_Nfc

        2.将SDK中的库源码删除后用上述代码替代,源路径为packages/apps/Nfc

四、更新补丁包

        1.下载补丁包,补丁包中有更新脚本

             https://github.com/NXPNFCLinux/nxpnfc_android_nougat

        2.下载补丁需要的源码,clone后记得将版本切换至对应的系统平台,我这里是  br_android_ncihalx_n

              https://github.com/NXPNFCProject/NFC_NCIHAL_base

        3.根据脚本,配置源码目录。

            3.1.在源码根目录新建文件夹NxpNfcAndroid,将上述1和2的内容拷贝到此文件夹中

            3.2.配置脚本中源码根目录,我的是ANDROID_BUILD_TOP=/data/rk3399/Android7-1-Industry

        4.执行脚本,install_NFC.sh PN7150

  五、遇到的问题

        1.编译报错,只能根据错误提示修改源码。     

        2.I2C不通,检测enable脚是否拉高,示波器量i2c data脚是否有信号输出,输出值是否对

        3.设置界面NFC功能没显示,先检查配置文件/system/etc/permissions/platform.xml中是否有unavailable-feature name="android.hardware.nfc",如果有则需要删除再更新至系统中。如果还未能解决,就得根据日志信息查询报错源码处原因了。

        4.其他问题也可以加我微信讨论交流哦

            

                

                

        

    

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MSP430F5529是一个微控制器,而PN532是一个NFC RFID模块。要使用MSP430F5529与PN532进行通信,您需要使用MSP430F5529的GPIO和SPI接口。 以下是基本步骤: 1. 确保您已经连接好PN532模块到MSP430F5529的SPI接口,包括MISO,MOSI,SCK和SS线。 2. 确保您已经下载了PN532的驱动库,并且将其添加到您的MSP430F5529项目中。 3. 初始化SPI接口。您需要将MSP430F5529的SPI接口设置为主模式,并设置通信速率和数据位数。 4. 初始化PN532模块。您需要向PN532发送初始化命令,以确保它已经准备好与MSP430F5529进行通信。 5. 发送命令并接收响应。您可以使用PN532的命令集对标签执行操作,并通过SPI接口将命令发送到PN532。PN532将响应发送回MSP430F5529,您可以通过SPI接口接收响应。 6. 处理响应。一旦您收到响应,您需要解析它以获取所需的数据。 下面是一个简单的示例代码,展示了如何使用MSP430F5529与PN532进行通信: ```c #include "msp430.h" #include "pn532.h" void main(void) { // 初始化SPI接口 initSPI(); // 初始化PN532模块 initPN532(); // 发送命令并接收响应 uint8_t command[] = {0x55, 0x43, 0x02, 0x00, 0x01, 0xFE}; uint8_t response[32]; sendCommand(command, sizeof(command), response, sizeof(response)); // 处理响应 if (response[0] == 0x00 && response[1] == 0x00 && response[2] == 0xFF) { // 响应正确 uint8_t dataLength = response[3] - 2; uint8_t data[dataLength]; for (int i = 0; i < dataLength; i++) { data[i] = response[i + 5]; } // 处理数据 } else { // 响应错误 } // 循环执行 while (1) { // 这里可以执行其他操作 } } ``` 请注意,上述示例代码仅提供了一个基本框架,并且还需要进行适当的修改才能在您的应用程序中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值