Firefly开源社区

怎么进入sleep功耗模式?

39

积分

0

威望

0

贡献

游客

积分
39
发表于 2016-4-13 13:55:57     
我调用 sleep_set_pm 这个API,发现测得的电流还是很大,是ma级别,我只用一个最小核心板,上面只有晶振,没有其它的外设,是怎么回事?设置功耗模式还需要做其它细节吗?请教各位大牛
回复

使用道具 举报

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2016-4-13 14:31:55     
本帖最后由 安安 于 2016-4-13 14:38 编辑

既然电流这么大,你一定是没有成功进入低功耗模式的。
请注意看函数sleep_set_pm说明,此函数的功能是标志允许系统进入低功耗模式,但是并不代表调用就一定可以进入低功耗模式。能否进入低功耗模式有诸多条件要检查。你可以看一下数据手册详细了解一下进入低功耗模式的条件,然后结合main函数调度器以后的代码看看是否真正进入到低功耗模式。
没个性,不签名!
回复

使用道具 举报

39

积分

0

威望

0

贡献

游客

积分
39
发表于 2016-4-13 14:42:27     
安安 发表于 2016-4-13 14:31
既然电流这么大,你一定是没有成功进入低功耗模式的。
请注意看函数sleep_set_pm说明,此函数的功能是标志 ...

有定时任务产生,会阻碍进入低功耗吗?
回复

使用道具 举报

39

积分

0

威望

0

贡献

游客

积分
39
发表于 2016-4-13 14:47:06     
安安 发表于 2016-4-13 14:31
既然电流这么大,你一定是没有成功进入低功耗模式的。
请注意看函数sleep_set_pm说明,此函数的功能是标志 ...

我用的是qpps的工程,使用QPRINTF打印语句,打印用户功耗模式的状态,usr_sleep_st一直是2,是对的,而ble_sleep_st 为0 与 2交替 变化,不知道是怎么回事
回复

使用道具 举报

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2016-4-13 14:56:04     
longdelu 发表于 2016-4-13 14:42
有定时任务产生,会阻碍进入低功耗吗?

会的,具体的要详细查看数据手册,数据手册有详细的各种睡眠模式需要关闭的模块,一旦有任务需要用到该模块,那就不能进入低功耗模式了。
没个性,不签名!
回复

使用道具 举报

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2016-4-13 14:58:56     
longdelu 发表于 2016-4-13 14:47
我用的是qpps的工程,使用QPRINTF打印语句,打印用户功耗模式的状态,usr_sleep_st一直是2,是对的,而ble ...

可以查看main函数,系统进入第几级睡眠是由系统任务和BLE协议栈同时决定的,你只设定系统的低功耗允许标志,是不能进入低功耗的,并且最好不要强制进入低功耗,进不了低功耗肯定是有其他东西在运作,强制进入的话,必定系统有某些地方会乱的。
没个性,不签名!
回复

使用道具 举报

39

积分

0

威望

0

贡献

游客

积分
39
发表于 2016-4-13 15:16:52     
安安 发表于 2016-4-13 14:56
会的,具体的要详细查看数据手册,数据手册有详细的各种睡眠模式需要关闭的模块,一旦有任务需要用到该模 ...

好的,我再看看,谢谢
回复

使用道具 举报

13

积分

0

威望

0

贡献

游客

积分
13
发表于 2016-5-28 14:58:39     
那正常情况下,待机电流大概是多少呢?我想了解一个大概值先,谢了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表