完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在测试蓝牙电流时,用CH579EVTEVTEXAMBLEHeartRate 的例程,#define HAL_SLEEP TRUE。
在编译后,电流3.5uA。 在设置了定时1秒唤醒后, RTC_TMRFunCfg(Period_1_S); 程序出现了高电流,应该是唤醒后的LowPower_Idle(); 导致高电流。 为何这是的RTC触发不起作用? 如果改用 DelayUs((1200)/5) 替换RTC_SettignTime( time )来延时,则睡眠电流有提高了。 应该如果修改,保存更低的电流? |
|
相关推荐
3个回答
|
|
在设置了HAL_SLEEP之后,Toms任务空闲的时候,Toms会调用sleep函数,进入睡眠状态。此时电流为几微安。但是,你使用的是BLE下面的相关例程,蓝牙是在定时广播,此时TMOS任务会定时唤醒它,所以电流会提高,Tmos本身的时钟管理就是基于RTC的,所以RTC时间只能读,不能写,否则会造成之前的任务时间点紊乱,所以你要定时唤醒的话,可以自己设定一个Tmos的定时任务。
如果你只是想要测量相关的电流,你可以使用PM的例程,这是不包含蓝牙的任务,可以持续睡眠。 如果你是为了更低的功耗,可以调大广播间隔和连接间隔,这样设备在连接事件之间有较长时间的休眠。 |
|
|
|
谢谢你的回复。
我查看了timer的函数,这不是一个周期性重复的函数?我希望得到一个同步于RTC的second时间的事件,去驱动一个任务。 从数据手册上看,RTC的定时功能,与触发功能应当是独立的?不应当会影响相互的中断。然而,从测试情况看,开启了定时功能后,RTC的触发似乎不起作用了。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
467 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2871 浏览 2 评论
2359 浏览 1 评论
810浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
635浏览 1评论
494浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
358浏览 1评论
632浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 00:04 , Processed in 0.936772 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号