在windows操作系统上安装libnfc1.7.0的教程有英文的和中文的两个链接,具体怎么安装就不陈述了,自己看连接。主要讲我遇到的问题。


上面链接是根据libnfc1.7.0安装的,而我的是libnfc1.7.1,基本对安装过程没有太大影响。

问题一:libnfc.dll放在系统中正确的位置

本人用的是win7 64 位的系统,而文章都是用的32位的,这个是个不小的问题,导致编译完成,在添加libnfc.dll时候按照教程里所说:

复制libnfc.dll到C:\Windows\System32下,这个是针对 win7 32位系统说的,而应该win7 64位应该添加在C:\windows\SysWOW64。



问题二:安装文件路径问题(最好按照文章的路径安装,这样省去自己修改文章中的环境变量)



分号,不要忘记漏掉复制。



问题三:文章中配置libnfc库文件。



因为的是libnfc 1.7.1,如下配置该版本已经更新,已经添加了该语句。如果不放心可以到该目录下确认下。


Edit file: C:\tools\libnfc-1.7.0-rc7\CMakeLists.txt


Change:

MACRO (GET_CURRENT_YEAR RESULT)
   EXECUTE_PROCESS(COMMAND "cmd" " /C date /T" OUTPUT_VARIABLE ${RESULT})
   STRING(REGEX REPLACE ".*(..)/(..)/(....).*" "\\3" ${RESULT} ${${RESULT}})
ENDMACRO (GET_CURRENT_YEAR)


into


MACRO (GET_CURRENT_YEAR RESULT)
   EXECUTE_PROCESS(COMMAND "cmd" " /C date /T" OUTPUT_VARIABLE ${RESULT})
   STRING(REGEX REPLACE "\n" "" ${RESULT} ${${RESULT}})
   STRING(REGEX REPLACE ".*(..)/(..)/(....).*" "\\3" ${RESULT} ${${RESULT}})
ENDMACRO (GET_CURRENT_YEAR)



 C:\tools\libnfc-1.7.0-rc7\libnfc\drivers\pn532_uart.c; Edit file: C:\tools\libnfc-1.7.0-rc7\libnfc\nfc-internal.c这几个在两篇文章都有介绍,我是以英文的链接为准的。其他根据自己libnfc的位置找到其文件更改即可。  不按照文章中的配置会出现 uart找不到,或者程序打开不能发现nfc设备。



问题四: 串口调试助手一定关掉。


如果在安装完成后,如果没有关闭串口助手,运行其中的程序可能会提示 no found NFC device。因为nfc设备的COM口被串口助手占用导致编译完成的程序不能发现设备。



问题五:如果按照步骤全部做完后,程序不能运行,自己一些参数忘记修改了,需要修改后重新编译。注意:重新编译后一定把新生成的libnfc.dll文件替换旧的,替换完最好把电脑注销一下,或者重启一下。



问题五:用的每个程序版本最好和教程中的一致,防止出现未知问题。



我用是PL2303 usb转串口,nfc芯片是pn532。按照教程和我说这这些注意问题,如果硬件正常的话,应该是没问题的。





gpio_adc



2016.01.12