完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在有个项目,用电池供电,需要低功耗。板子上有一个蓝牙模块。
准备用STM32L151C8T6,用低功耗待机模式。 待机模式打算用RTC闹钟唤醒。 可是还有个问题,板子上有10个按键,按下任何一个按键,都要 向另一块板子的蓝牙模块发送数据。 按键检测用定时器写的,定时器每10ms中断一次。 那问题就来了。我感觉RTC的闹钟中断的时间是以秒为单位的, 那样的话,就检测不到按键了。这可怎么办呀?谢谢! |
|
相关推荐
8个回答
|
|
云汉达人
你的需求:10个按键,低功耗可唤醒,触发按键发送数据, 实现方法:RTC中断唤醒低功耗,按键检测使用定时器中断扫描。 现有的问题:因为按键检测使用的定时器不停的中断,所以你的单片机10ms就唤醒一次,不会保持在低功耗模式。RTC 中断唤醒,适合芯片长时间处于低功耗模式,而你的按键随时都可能触发,所以也不合适。 可以调整的地方:10个按键通过或门连接到一个外部中断。去掉按键轮询定时器,改为外部中断轮询按键。 触发按键,外部中断首先唤醒单片机,外部中断处理函数里面轮询是哪个按键触发,再执行那个按键的任务。RTC 同时也能唤醒,执行定时要做的任务。按键任务和RTC任务执行完后,都让芯片进入低功耗。板子上蓝牙模块保持不动。 |
|
|
|
使用stm32L151C8T6芯片,用rtc唤醒低功耗,三种模式详细介绍,并付代码。
这三种低功耗楼主花了好长时间才做出来,分享给大家。实测stop模式下电流为1.3uAstandby模式下电流为1uA. |
|
|
|
10个按键通过10个二极管的正极相连,然后再接到wkup管脚上,这样任意键按下必然唤醒单片机,然后再立即处理按键判断
|
|
|
|
使用stm32L151C8T6芯片,用rtc唤醒低功耗,三种模式详细介绍,并付代码。
这三种低功耗楼主花了好长时间才做出来,分享给大家。实测stop模式下电流为1.3uAstandby模式下电流为1uA. |
|
|
|
为了保证低功耗,可以再加一个外部中断唤醒,将按键连接至一个或门,只要有一个按下,输出端就输出信号唤醒单片机,然后单片机开始检测按键
|
|
|
|
这种可以增加一个IO中断唤醒的功能,有按键按下时也唤醒
|
|
|
|
RTC是以秒为单位的,所以,只能 是按秒来唤醒的了,不过可以使用定时器的啊
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
955 浏览 0 评论
1245 浏览 1 评论
2610 浏览 5 评论
2960 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2826 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1415浏览 3评论
260浏览 2评论
530浏览 2评论
446浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
511浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 00:30 , Processed in 1.850146 second(s), Total 60, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191