蓝牙【51822】开发笔记
一、环境搭建
文章目录
前言
简单介绍了 nRf51822 开发的前期准备工作
一、 需要准备工具和软件
1 . nRF51822开发板
2 . 下载器及驱动
3 . nRFgo studio
4 . nRF51 SDK
5 . MDK:keil 4.7及以上版本
6 . APP:nRF connect
相关资源:
- 开发板
我使用的是 -青风nRF51822蓝牙开发板4.04.1增强版- 与官方开发板兼容,board编号“pca10028” - 下载器及驱动
下载器使用 【Jlink】,因为使用nRFgo studio刷固件需使用Jlink下载器 - SDK(10.0.0)
已经上传,自行享用:站内下载链接 - nRFgo studio
直接到官网下载即可:官方下载链接 - keil
请使用正版软件。对于学生,某度有很多提供学习的“绿色方法”,请自行探索 - APP
安卓:直接到应用商店搜索安装。或者我已经上传,可直接下载
苹果:直接到应用商店搜索安装。
或者自行搜索安装其他同类型的 低功耗蓝牙 调试工具。
二、相关软件的安装
1. MDK
MDK使用 keil 4.7及以上版本。安装(绿色)请自行探索
2. nRFgo studio
前往官网,拉到网页下面,下载安装包,默认安装即可
3. 下载器及驱动
使用JLink,去某宝淘一个,相关驱动,自行联系商家获取
4. APP
直接到应用商店搜索安装。
5. 其他
下载完SDK,打开压缩包,安装mdk的芯片包
安装完成打开keil软件,打开pack installer
查看芯片支持是否完成安装。
至此,相关软件就安装完成。准备工作完成,接下来就可以尝试下载第一个程序了
三、尝试下载例程
1. 连接硬件
连接好下载器(J-Link)跟开发板,上电。
2. 烧录固件
打开nRFgo studio,如下图,烧录固件
sdk固件路径:如下图。
在sdk固件包 -> components -> softdevice 中就有sdk固件文件,其中有S110、S120、S130等版本,选择自己需要的版本固件进行烧录即可(例如单外围设备可选择S110,单中心设备可选择S130)。
3. 烧录例程
SDK中包含丰富的例程,下面以一个常用的例程为例(ble_app_uart: 蓝牙串口)。具体路径如下:
examples -> ble_peripheral -> ble_app_uart -> pca10028 -> s110
其中pca10028是官方的一款开发板,可以理解为该例程就是以这块开发板的引脚分布进行开发的,后续也可以在对应的文件中进行二次开发,重新定义引脚
我这里使用keil4进行开发,keil的使用就不赘述了,打开工程,编译并烧录就行了
下载需要注意的是下载器的设置,有时候打开工程后下载器默认的不是J-link,需要注意
还有就是下载器设置里面的 Flash Download -> Programming Algorithm 有时候会是空白状态,也会使下载失败,点击下方的 “Add” 添加即可
4. 验证例程
这个例程功能非常简单,就是一个蓝牙透传的例程。
1、将串口收到的数据通过蓝牙发送出去
2、将蓝牙收到的数据通过串口发送出去
下载完成例程后,打开 nRF connect app。可以看到搜索到的蓝牙设备。Nordic_UART 就是例程所广播出来的蓝牙设备,点击 connect 进行连接
连接完成会自动跳转到下面的界面。可以看到有如下三个服务,其中0x1800、0x1801为自带的系统服务,无需理会,而下面的 Nordic UART Service 就是蓝牙透传使用的服务了,点击展开后如下图所示。
首先,点击开启服务的notify通知,这样可以自动接收蓝牙接收到的数据。然后点击下方 RX Characteristic 的⬆箭头,进行数据的发送
数据发送的页面如下图,编辑完点击 send 即可
另外在串口助手同样可以发送数据,结果如下面两张图片显示
注:
1、例程使用的串口波特率是38400,及得切换。
2、例程中的串口使用了流控,若没有流控的支持,可以在 main.c 中的 uart_init 函数将流控关闭,波特率的设置同理
总结
以上就是这一部分的内容,仅仅简单介绍了 nRf51822 开发的前期准备工作,后续学习后再继续更新。若发现问题,敬请提出,互相学习