[MM32软件] MM32W功耗BLE蓝牙应用

[复制链接]
771|5
 楼主| cyclefly 发表于 2022-3-29 10:22 | 显示全部楼层 |阅读模式
本帖最后由 cyclefly 于 2022-3-29 10:22 编辑

休眠函数

对于低功耗应用来说,休眠是非常关键的一个功能。开启蓝牙广播时MM32W0的控制模块有三种工作模式:正常模式、睡眠模式和停机模式。在stop模式下,射频模块都会通过IRQ引脚定时触发一个外部中断,可以借此唤醒STOP模式中的控制模块。

在阻塞模式中,休眠是蓝牙服务通过调用void McuGotoSleepAndWakeup(void) 函数实现的,对于中断模式,则是用户在代码中主动调用IrqMcuGotoSleepAndWakeup()函数来实现。


191062426c6fc52dd.png


在中断方式中,需要在中断处理函数中重新配置时钟:


4067862426c92e6695.png


时钟配置

进入低功耗前后需要配置时钟,从低功耗模式恢复时,时钟默认设置为HSI6分频,需要重新配置系统时钟。

注意:下面函数属于蓝牙库接口,没有用到也不要删除。

相关时钟配置:

6696562426cd1acc93.png


以上时钟配置只是针对MM32W0系列的n4版本,在q1版不需要以上时钟操作。MM32W051PFB(q1)蓝牙功耗参数:

2701462426cebd01c8.png

在SleepStop设置成0x02,MCU将会进入STOP模式,在保持 SRAM 和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,HSI 的振荡器和 HSE 晶体振荡器被关闭。可以通过任一配置成 EXTI 的信号或者看门狗不复位方式把微控制器从停机模式中唤醒,EXTI 信号可以是 16 个外部 I/O 口之一、 PVD 的输出的唤醒信号。。STOP模式下无法下载调试程序。为了方便调试,可以在程序开始时加入一个延时,这样每次复位都有一段时间可以下载程序。







everyrobin 发表于 2022-5-16 10:21 | 显示全部楼层
mm32是低功耗的吗  
pl202 发表于 2022-5-16 10:38 | 显示全部楼层
BLE蓝牙应用?
10299823 发表于 2022-5-16 12:14 | 显示全部楼层
主要是降低外部的功耗了。  
abotomson 发表于 2022-5-16 13:06 | 显示全部楼层
这个ble怎么样  
pixhw 发表于 2022-5-16 13:33 | 显示全部楼层
低功耗应用 ,休眠确是非常关键
您需要登录后才可以回帖 登录 | 注册

本版积分规则

106

主题

569

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部