完善资料让更多小伙伴认识你,还能领取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的触发似乎不起作用了。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2599 浏览 2 评论
2134 浏览 1 评论
ch554g的板子准备烧录程序,用串口总是显示等待设备连接是为啥
1004浏览 14评论
请问ch32v307用ch-link调试或者读写有什么特殊操作方法吗?
902浏览 13评论
Windows系统下如何确定COM口为CH340/CH341设备?
2223浏览 12评论
681浏览 12评论
CH32V307以太网接近满速后,几秒或几十秒后就死机怎么解决?
1963浏览 11评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-27 13:02 , Processed in 0.732300 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号