OSAL 之功耗管理

本文介绍了在蓝牙4.0协议栈1.3.2版本中,OSAL_PwrMgr.c和OSAL_PwrMgr.h如何实现功耗控制。重点讲解了功耗管理结构体、任务功耗状态宏、设备供电方式宏以及相关API函数的用法,如osal_pwrmgr_init()、osal_pwrmgr_device()和osal_pwrmgr_powerconserve()等,强调了在电池供电情况下功耗管理的重要性。
                    尊重原创,转载请注明:

基于蓝牙4.0,协议栈版本是1.3.2
在OSAL中的OSAL_PwrMgr.c与OSAL_PwrMgr.h两个文件实现对功耗的控制。

首先是功耗管理的结构体定义

typedef struct
{
  uint16 pwrmgr_task_state;   //是否进入节能模式
  uint16 pwrmgr_next_timeout; //记录软件定时器中下次超时的最短一个时间
  uint16 accumulated_sleep_time;  //记录累计睡眠多少时间
  uint8  pwrmgr_device;   //记录现在设备供电的类型
} pwrmgr_attribute_t;

pwrmgr_task_statebit0~bit15分别对应着16个任务的功耗状态,如果某一位为0,则它对应的任务进入节电模式。
pwrmgr_next_timeout记录着最短的超时时间,从定时器管理列表获得,在这段时间内,系统处于空闲状态,所以pwrmgr_next_timeout实际上是记录当次系统睡眠的时间。
accumulated_sleep_time则记录这系统累计睡眠时间。
<

PowerMgr是一个电源管理的小软件,用于快速的切换系统电源模式 PowerMgr为第一个版本,工作于系统托盘区,可适用于XP操作系统 功能介绍: 1.左键点击系统托盘区图标,可在高性能、平衡、节能模式之间切换 2.右键点击系统托盘区图标,可显示菜单。菜单中包含电源模式的切换,以及重启、关闭电脑、睡眠、休眠等实用功能。 3.按住shift点击右键,菜单中包含扩展选项:开机自启动、和退出程序。 PowerMgr2为针对Windows7特性而开发的新版本,工作于任务栏,仅适用于Windows7操作系统 功能介绍: 1.在任务栏按钮的右下角显示小图标,指示当前的电源模式。红色为高性能、绿色为平衡、蓝色为节能、黄色为其他电源模式。 2.任务栏按钮中显示进度条指示 电池剩余电量(未使用电池时不显示进度条)。 3.鼠标指向任务栏按钮时,显示任务栏预览窗。预览窗中以图像显示当前电源模式,以及所使用的电源(电池、交流电)。 4.任务栏预览窗底部有3个按钮,分别用于切换电源模式到高性能、平衡、节能。 5.鼠标指向任务栏按钮时显示提示信息。包含当前电源模式、剩余电量(无电池时不显示)、电池剩余使用时间(使用交流电时不显示)。 6.右击任务栏图标,弹出菜单中包含切换是否开机自启动的选项。 PS: 1.程序中使用的图片资源来源于网络。 2.程序不断完善中,欢迎交流(nqtwilford@sina.com) 遗漏两个头文件,已补上 http://download.youkuaiyun.com/source/2390125
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值