灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用

灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,第1张

在上一章节,我们了解了MM32W0系列蓝牙模块的软件架构,下面我们来看一下低功耗模式下用到的休眠和时钟配置函数。

目前MM32W0系列有n4和q1两个版本,n4主要针对需要大容量的应用方案,q1针对超低功耗精简型的应用方案,两个型号的低功耗编程 *** 作方式相同,不同的只是MCU的时钟系统控制方式,在参考程序已经提供不同的模式下功能,用户只要改变相对应的宏定义即可实现对应的低功耗功能。

休眠函数

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

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

灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,第2张

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

灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,第3张

时钟配置

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

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

相关时钟配置:

灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,第4张

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

灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,灵动微电子:MM32W无线MCU系列产品应用笔记——功耗BLE蓝牙应用,第5张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2559901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-06
下一篇 2022-08-06

发表评论

登录后才能评论

评论列表(0条)

保存