我做了RTC秒中断RTC_SetWakeUpCounter((uint)1); 多少秒中断一次,唤醒单片机!现在需要每隔6小时重新初始化加速度模块,防止加速度死在那不运作,这样我就需要一个类似STM32F103的RTC中闹钟中断一样的功能!
以前都是看着原子哥的教程学STM32F103的,这STM8L的以前没有接触过,不知道这RTC跟STM32的有什么样的区别!求有了解的大神指点下STM8L闹钟中断的思路!
谢谢~!~!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
翻了下手头stm32l151的参考手册,名称是RM0031,如果楼主的单片机和我的型号不一样可能会有些差别,我这里就不截图了,楼主可以去下载RM0031的原版英文手册,对照页数来看。
435页下面的table77,表明stm8l151的RTC中断有五种,后三种我没用到,没有看,现在说下ALARM中断和auto wakeup中断。
ALARM中断我搞过,还要设定初始时间,然后闹钟定一个时间,进入中断的时候还要将初始时间清零,感觉很复杂,我记得我也没搞出来...
auto wakeup就轻松很多,你只需要设定好用哪个时钟,设置好分频,使能以后他就会自动的走了,最长支持36个小时中断一次,完全满足楼主的6小时要求。
综上,我认为楼主这种情况最好还是使用那个auto wakeup中断,顾名思义,自动唤醒中断。
看下功能多不多吧,如果功能不多,用active-halt是比较理想的,功耗仅次于halt模式。具体配置楼主可以看看st官方评估板的例程,例程没有的看看stm8l的官方库,配合参考手册看看寄存器,很快就可以搞出来的。
我也是个新手,刚开始使用stm8l,希望以后可以交流。
一周热门 更多>