基于富芮坤的FR801 BLE芯片开发
前言:本篇主要讲解如何利用官方的SDK和ble 协议栈知识开发所需的功能
注意:因为官方是每个工程都导入同一个底层…所以一旦修改了components ,全部工程受影响,所以建议copy一份出来.自己乱改都没事…
文章目录
- 基于富芮坤的FR801 BLE芯片开发
-
- 一 欲练神功,必先备其资料
- 二 基本的外设驱动(GPIO,FLASH等)
- 三 BLE开发(广播内容 GATT服务)
-
- (1) 广播部分
- (2) 睡眠低功耗
- (3) 蓝牙连接
- (4) 数据通讯
- (5) notify
- 四 OTA
一 欲练神功,必先备其资料
1.这部分的学习需要使用到官方的SDK.在上节的资料中并没有SDK资料.因此我需要在官 的github or gitee 下载 上链接(gitee快速下载):
FR801xH-SDK
简单介绍文件内容
components:官方给的底层文件和API.
docs: 教程文档,特别是SDK用户手册,.非常关键好用…API
examples 官方给的例子.主要看none_evm.(这里推荐看几个例子)
ble_simple_peripheral 从机通讯.我主要在这个改的…
ble_drivers_demo 外设驱动.第二部分基本看这个例子就基本可以了…
tools 顾名思义就是开发过程可能用到的工具,我就用到了一个ota app和 下载工具…
二 基本的外设驱动(GPIO,FLASH等)
这部分.我感觉就看 example里面的 ble_drivers_demo 写的很详细了…
什么串口 i2c spi flash gpio 都给整明白了.实在不行,别忘了有个sdk用户手册.没事看看不亏…
三 BLE开发(广播内容 GATT服务)
蓝牙开发:不过在于,广播的数据 蓝牙的连接以及通讯数据的传输…然后 睡眠低功耗…notify…
这里先推荐几篇文章有关的 :
FR8016H程序运行流程、任务、定时器、串口的使用 非常详细.强烈推荐
GATT学习
正题来了:
(1) 广播部分
通过SDK手册和API说明,我知道了.广播的数据和广播参数设置
gap_set_advertising_param()
gap_set_advertising_data()
因此在文中找到查看对应的结构体并修改即可
上面对应的是广播的时间间隔.单位0.625ms 1s的广播间隔设置为1600即可…其他类似.看看sdk手册.
(2) 睡眠低功耗
调用API就完事了…
system_sleep_enable(); //使能
system_sleep_disable();//失能
进入低功耗无法进行jlink下载和调试哦.所以使用jlink下载记得延时会…
(5) notify
notify…主动通知…只要打开使能,设备主动向主机(手机app)发送内容,自定义.可以是温度,电池电量…
这里我是使用软件定时器…
这个变量下面的回调函数用到.连接从机的ID
蓝牙OTA也是学习蓝牙必不可少的…在富芮坤中,已经把功能都实现了.我们只需将官方给的代码加入到我们的工程中即可…
首先在自己的工程中导入:freqchip-FR801xH-SDK-masterFR801xH-SDKcomponentsbleprofilesble_ota目录下的4个文件…
然后在添加服务那里,将加入…就ok了…记住不要改ota的文件…老老实实的用就可以了.
然后烧录代码…手机端下载tools中的ota.apk…然后修改代码编译生成.bin文件…传入到手机文件夹中…(这样注意哦:要升级和待升级都必须有ota服务…).
就是这么easy…毕竟人家都给我们做好了…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!