在线时间2231 小时
UID3253523
注册时间2016-3-21
NXP金币3685
该用户从未签到
超级版主
 
- 积分
- 25480
- 最后登录
- 2025-9-9
|
本帖最后由 小恩GG 于 2021-7-13 10:35 编辑
ble的扫描过程有以下阶段,scan interval扫描间隔,scan window扫描间隔,如图
官方ble有个功能,当scan window效以scan interval时候,中间有一段空闲,在这段空闲时间使用低功耗模式lls3可以保持ble功能同时又可以节省电源。
下面我们来测试这个功能同时学习以下如何测试板子的低功耗功能,具体如何测试低功耗可以参考这个链接,里面分别介绍了buck和bypass电源情况下的测试,我们使用的是buck模式。
板子:FRDM-KW38
例程:Frdmkw38_adv_ext_central_freertos
设备:万用表,外部DC电源
找到函数BleApp_Start,添加改变睡眠模式的函数在App_StartScanning之前
- void BleApp_Start(void)
- {
- /* Set low power mode */
- #if defined(cPWR_UsePowerDownMode) && (cPWR_UsePowerDownMode)
- (void)PWR_ChangeDeepSleepMode(gAppDeepSleepMode_c);
- #endif
- /* Start scanning */
- mAppExtAdvListIndex = 0;
- mPerExtAdvIndexPending = mPeriodicExtAdvInvalidIndex_c;
- PWR_ChangeDeepSleepMode(1);
- (void)App_StartScanning(&gScanParams, BleApp_ScanningCallback, gGapDuplicateFilteringDisable_c, gGapScanContinuously_d, gGapScanPeriodicDisabled_d);
- }
复制代码 然后烧写代码,之后我们需要修改一些跳帽,跳帽情况分两种
1 正常烧写时,跳帽状况
J24 1-2 J35 1-2 J27 不接 J38 2-3 J28 1-2 J30 不接 J29 1-2
2 测试时候,移除跳帽j24,j28,j35,j35,j35的1脚是电源正极,1-2需要连在一起用外部供电
DC电源调到3V
将万用表跳到电流测试挡位,然后串进电源里,给mcu上电可以看到现在电流
当扫描时候就可以看到电流上去了
然后在空闲时候又回归低功耗,如此交叉
|
|