“NRF52832DK协议栈实验”的版本间的差异
(→低功耗实验) |
|||
第2行: | 第2行: | ||
== 蓝牙协议实验 == | == 蓝牙协议实验 == | ||
+ | 蓝牙协议实验部分,我们借由串口透传实验,一步一步拆分,给大家介绍蓝牙的协议方面。 | ||
=== 低功耗实验 === | === 低功耗实验 === | ||
==== 实验简介 ==== | ==== 实验简介 ==== | ||
+ | 低功耗实验1.0_ble_central_pm与2.0_ble_peripheral_pm,这两个实验给大家带来的是最精简的主机以及从机例程,精简到什么程度呢,只保留了协议栈初始化以及电源管理部分。利用此实验,大家可以测试一下我们的BLE工程进入低功耗模式下的功耗情况。 | ||
==== 实验现象 ==== | ==== 实验现象 ==== | ||
+ | 我们将万用表串联到电路中,并且打到电流档,此时我们可以看到功耗如下。 | ||
==== 源码讲解 ==== | ==== 源码讲解 ==== | ||
+ | 首先我们查看一下main()函数,在mian函数中,我们首先初始化了电源管理模块,然后初始化了BLE栈堆,最后在while大循环中我们调用空闲状态处理的函数。<syntaxhighlight lang="c" line="1" start="170"> | ||
+ | //****************************************************************** | ||
+ | // fn : main | ||
+ | // | ||
+ | // brief : 主函数 | ||
+ | // | ||
+ | // param : none | ||
+ | // | ||
+ | // return : none | ||
+ | int main(void) | ||
+ | { | ||
+ | // 初始化 | ||
+ | power_management_init();// 初始化电源控制 | ||
+ | ble_stack_init(); // 初始化BLE栈堆 | ||
+ | |||
+ | // 进入主循环 | ||
+ | for (;;) | ||
+ | { | ||
+ | idle_state_handle(); // 空闲状态处理 | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
=== LOG打印实验 === | === LOG打印实验 === |
2019年7月8日 (一) 13:05的版本
目录
1 蓝牙协议简介
2 蓝牙协议实验
蓝牙协议实验部分,我们借由串口透传实验,一步一步拆分,给大家介绍蓝牙的协议方面。
2.1 低功耗实验
2.1.1 实验简介
低功耗实验1.0_ble_central_pm与2.0_ble_peripheral_pm,这两个实验给大家带来的是最精简的主机以及从机例程,精简到什么程度呢,只保留了协议栈初始化以及电源管理部分。利用此实验,大家可以测试一下我们的BLE工程进入低功耗模式下的功耗情况。
2.1.2 实验现象
我们将万用表串联到电路中,并且打到电流档,此时我们可以看到功耗如下。
2.1.3 源码讲解
首先我们查看一下main()函数,在mian函数中,我们首先初始化了电源管理模块,然后初始化了BLE栈堆,最后在while大循环中我们调用空闲状态处理的函数。
170 //******************************************************************
171 // fn : main
172 //
173 // brief : 主函数
174 //
175 // param : none
176 //
177 // return : none
178 int main(void)
179 {
180 // 初始化
181 power_management_init();// 初始化电源控制
182 ble_stack_init(); // 初始化BLE栈堆
183
184 // 进入主循环
185 for (;;)
186 {
187 idle_state_handle(); // 空闲状态处理
188 }
189 }