赞
踩
STM32F103低功耗虽然应用中有点鸡肋的感觉,但是也有他的优势,做好的话也可以世道30uA左右的待机电流,在一些要求不高的场合还是有它的用途,这里整理了一些相关应用出现的问题和解决方案以及代码。
1、主要问题问题
我的RTC初始化部分有个“保存在备份寄存器的RTC标志是否已经被配置过的判断”,如果已经配置过,则进入else部分,但是这个else部分没有“要使能电源时钟,使能备份时钟,取消后备区的写保护”这些配置语句,而待机唤醒后程序从主函数执行,会执行到else部分,因为没有那些配置语句,所以再次对闹钟赋值就会不成功,就会卡在那里。(那些配置语句在clock_ini函数里,有注释)
2、待机用不用加extiline17事件的处理
如果把闹钟中断的服务程序放在void RTC_IRQHandler(void)里面处理的话,不需要extiline17事件也可以唤醒(亲测),如果闹钟中断的服务程序放在void RTCAlarm_IRQHandler(void)里面处理的话,需要extiline17事件
3、RTCAlarm_IRQn和RTC_IRQn优先级问题
我见到网上说要把RTCAlarm_IRQn的优先级设置比RTC_IRQn优先级高,但是把闹钟中断的服务程序放在void RTC_IRQHandler(void)里面处理的话,不用这样设置也可以。如果闹钟中断的服务程序放在void RTCAlarm_IRQHandler(void)里面处理的话需要设置优先级,最好根据情况先把优先级的问题解决清楚
4、低功耗diamante示例如下:
- void Clock_ini(void)
- {
- if(BKP_ReadBackup
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。