项目简介
本项目是基于Nordic Semiconductor的RFID读写模块开发的动物标签读卡器项目。其主要目标是实现RFID动物标签的读取功能,涵盖初始化RFID模块、设置通信参数、寻找并读取RFID标签等操作,适用于动物追踪、库存管理等领域。
项目的主要特性和功能
- RFID模块初始化:可对RFID读写模块进行初始化,设置接收和发送引脚,配置波特率。
- 日志系统:采用Nordic的日志系统,方便开发者调试与了解程序运行状态。
- 硬件时钟和电源管理:对硬件时钟和电源管理模块进行配置,保障系统稳定运行。
- 应用定时器:初始化应用定时器模块,实现各类定时功能。
- LED和按钮反馈:通过LED和按钮提供用户反馈,如扫描到标签时LED闪烁、读取成功时蜂鸣器提示。
- RFID标签读取:程序能不断寻找并读取RFID动物标签的数据。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
编译与烧录
- 下载所需工具:
- gcc arm none eabi toolchain x86 - 64 - linux:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
- SDK for the nRF52 16.0:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download#infotabs
- Programmer NRFJPROG:https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Command-Line-Tools/Download#infotabs
- JLink:https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack
- 在
/opt
目录下创建文件夹并解压上述文件,例如/opt/SEGGER/
。 - 修改项目根目录下
CMakeLists.txt
文件的第19、20、21和22行,填入各工具的路径并保存,示例如下:cmake set(NRF_TARGET "nrf52") # nrf51 or nrf52 set(ARM_NONE_EABI_TOOLCHAIN_PATH "/opt/SEGGER/gcc-arm-none-eabi-9-2019-q4-major") # Path to root folder set(NRF5_SDK_PATH "/opt/SEGGER/nRF5SDK") # Path to root folder set(NRFJPROG "/opt/SEGGER/Toolchain/nrfjprog/nrfjprog") # Path to .bin file
- 创建
build
文件夹并执行以下命令:bash $ cd build/ $ cmake ../
若一切正常,会输出相关信息。 - 使用
make
命令进行编译(此操作将编译源代码main.c
,并将softdevice.hex
和bin.hex
烧录到开发板):bash $ make
运行监控程序
在项目根目录下运行以下命令:
bash
$ ./monitor
若JLink二进制文件不在/opt/SEGGER/JLink/
目录下,需修改RTT
文件夹中的runJLinkEXE - nrf52
文件。
打印日志
在代码中设置以下变量:
c
NRF_LOG_INIT((void*)0);
NRF_LOG_DEFAULT_BACKENDS_INIT();
NRF_LOG_PROCESS();
NRF_LOG_INFO("TEXT TO PRINT\n");
NRF_LOG_FLUSH();
并在sdk_config.h
文件中设置以下定义:
plaintext
NRF_LOG_BACKEND_RTT_ENABLED 1
NRF_FPRINTF_ENABLED 1
NRF_FPRINTF_DOUBLE_ENABLED 1
NRF_LOG_ENABLED 1
NRF_LOG_BACKEND_UART_BAUDRATE 115200
自定义项目
若要将其作为自己的项目使用,只需修改main.c
文件中的代码。若需要指定更多SDK库,需修改cmake
文件夹中的nrF5x.cmake
文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】