Nordic nRF51822开发入门
1 开发环境搭建
1.1 软件安装
1. Keil软件安装;
2. Jlink驱动安装;
3. nRFgoStdio安装,该软件用来烧写蓝牙协议栈和应用软件。第二步安装了Jlink驱动后,不要安装nRFgo里自带的Jlink驱动。
4. 安装nRF51SDK,安装完成后,在Keil的目录里有51822的相关的例程和源码。
1.2 本例安装的软件版本
Windows: win7 64bit
Keil:V5.13.0.0 (mdk_513.exe)
Jlink:V4.96d (Setup_JLink_V496d.exe)
nRFgoStdio:V1.17.1 (nrfgostudio_win-64_1.17.1_installer.msi)
nRF51SDK: V6.1.0(nrf51_sdk_v6_1_0_b2ec2e6.msi)
SoftDevice:V7.1.0 (s110_nrf51822_7.1.0.zip)
1.3 遇到的问题
开发环境,包括软件环境以及硬件环境可以参考官方的User Guide 文档。期间遇到的问题有两个:
1. nRFgoStdio无法识别nRF6310 MotherBoard?
在这里没有解决这个问题,对我的开发工作影响不大,我们的开发工作只需要更新ble stack和应用层APP即可,大部分时候只需要烧录app即可。
2. keil打开.uvproj后缀名的工程,无法编译?
安装的最新的keil版本以及SDK需要打开.uvprojx后缀名的工程,则编译无错误。
3. 通过nRFgo烧写SoftDevice 和 ble_app_hrs无法工作?
这里存在nRF51SDK与SoftDevice和app的兼容性问题,本机安装了SDK的6版本,在Nordic官网SoftDevice有5,6,7三个版本,逐一尝试后,最新的版本7和app兼容,能正常工作。
4. 在调试期间可能遇到VTG灯变红、异常闪烁或不亮,nRFgo 和keil无法烧写?
如果是电池供电的话,则很可能是电池没电。检测电池的电压才1v,新电池1.6v左右。更换电池解决问题。
不能解决的问题,可以在Nordic官网论坛提问,会有Nordic的员工为你解答。
https://devzone.nordicsemi.com/questions/
2 串口UART
为了更好的结合串口打印信息,来分析代码的流程。故结合6310里的uart_example例程,来调试UART功能,并将该初始化函数移植到要分析的例程去。
在uart_exam ple的simple_uart_config函数中,对uart指定输出输入引脚,关键是找到6310板子上的该两个引脚的位置。因为没有6310的原理图,经过查阅了很多资料,终于找到这两个引脚,分别是P9 端口的,p2.0与p2.1,连接到电脑的USB串口线并另一个接地,在电脑端配置好相应的串口参数,则解决问题。