在上一章节,咱们了解了MM32W0系列蓝牙模块的软件架构,下面咱们来看一下低功耗形式下用到的休眠和时钟装备函数。
现在MM32W0系列有n4和q1两个版别,n4首要针对需求大容量的使用计划,q1针对超低功耗精简型的使用计划,两个类型的低功耗编程操作方法相同,不同的仅仅MCU的时钟体系操控方法,在参阅程序现已供给不同的形式下功用,用户只需改动相对应的宏界说即可完成对应的低功耗功用。
休眠函数
关于低功耗使用来说,休眠是十分要害的一个功用。敞开蓝牙播送时MM32W0的操控模块有三种作业形式:正常形式、睡觉形式和停机形式。在stop形式下,射频模块都会经过IRQ引脚守时触发一个外部中止,能够借此唤醒STOP形式中的操控模块。
在堵塞形式中,休眠是蓝牙服务经过调用void McuGotoSleepAndWakeup(void) 函数完成的,关于中止形式,则是用户在代码中自动调用IrqMcuGotoSleepAndWakeup()函数来完成。
在中止方法中,需求在中止处理函数中重新装备时钟:
时钟装备
进入低功耗前后需求装备时钟,从低功耗形式康复时,时钟默认设置为HSI6分频,需求重新装备体系时钟。
留意:下面函数归于蓝牙库接口,没有用到也不要删去。
相关时钟装备:
以上时钟装备仅仅针对MM32W0系列的n4版别,在q1版不需求以上时钟操作。MM32W051PFB(q1)蓝牙功耗参数: