历史上的今天
今天是:2024年12月05日(星期四)
2019年12月05日 | STM8L052低功耗模式
2019-12-05 来源:elecfans
Stm8L系列单片机的低功耗有五种模式:
§ wait模式
§ Lowpower run模式
§ Lowpower wait模式
§ Active-haltwith full RTC模式
§ Halt模式
最低功耗的就是就是halt模式。这里也主要总结一下如何进入halt模式,进入以后可以通过什么方式唤醒,以及有很多客户会关心的如何自动唤醒。
Halt模式进入很简单,执行一条halt指令,调用库函数也就是halt()就行了。但是进入前要注意把所有的中断挂起标志给清除掉。要是不清零又恰巧有中断标志的时候进入该模式也会被立马唤醒。进入这种模式,所有的外设全都关闭了,所有时钟关闭。这时候它自己是醒不过来的,只能靠掐人中(给个外部中断)或者重新复活(重启复位)。当然这个在进入halt之前是要把中断引脚什么的该配置的给配置好了。
那现在有个问题就是在halt模式下只能通过外部中断和复位了,我需要它自动醒过来怎么办?那就在进入的时候定个闹铃了(打开rtc),到点了就要醒过来。既然开了闹铃了它也就不是纯halt模式了。这时候也就叫做active-halt模式。Active-halt模式下可以打开个rtc和lcd。这里要说明一下,在stm8s和stm8l101xx系列里面有AWU自动唤醒寄存器。这一系列里面却没有,它就是靠RTC来实现自动唤醒功能的。那现在就做个最简单的例程看看是如何使用rtc自动唤醒功能的:
第一步:选择RTC时钟源(使用lse或者lsi) CLK_RTCClockConfig(CLK_RTCCLKSource_LSI,CLK_RTCCLKDiv_1);
第二步:使能RTC的时钟 CLK_PeripheralClockConfig(CLK_Peripheral_RTC,ENABLE);
第三步:选择RTC唤醒时钟源 RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits);
第四步:RTC唤醒计数中断使能 RTC_ITConfig(RTC_IT_WUT,ENABLE);
第五步:使能所有中断 enableInterrupts();
以上是初始化进行配置的部分。而每次要进入halt模式的时候我们还需要执行以下的步骤:
第一步:设置唤醒的时间: RTC_SetWakeUpCounter(5);
第二步:RTC唤醒使能: RTC_WakeUpCmd(ENABLE);
第三步:执行halt指令: halt();
史海拾趣
|
目录: 第一章 电的物理量 第二章 电路原理 第三章 信号处理电路 第四章 阴极射线管 第五章 半导体二极管 第六章 晶体管和集成电路 第七章 逻辑元件 第八章 数字器件 第九章 微处理机 第十章 交流电路 第十一章 大信号放大器 第十二 ...… 查看全部问答> |
|
紧急问题,用C#写的WinCE程序,第一次调用GC.collect程序出现0xc0000005错误,然后重启程序再调用就不会出错,不知道是怎么回事,有知道的吗? 紧急问题,用C#写的WinCE程序,第一次调用GC.collect程序出现0xc0000005错误,然后重启程序再调用就不会出错,不知道是怎么回事,有知道的吗?谢谢… 查看全部问答> |
|
定义: typedef struct _SUPPORTED_NIC // NIC vendor ID { USHORT wVenId; // PCI Vendor ID USHORT wDevId; & ...… 查看全部问答> |
|
USB转485说明书 欢迎您使用此型号的USB/485转换器,此电路是我精心设计,亲手焊接的产品。其中每个元器件都是经过细心挑选,以质量为前提,同时兼顾成本。 1.使用温度:-20度到+60度。 2.结构说明:前端是USB口,后端 ...… 查看全部问答> |
|
一.SSH服务的配置 1.sudo apt-get install ssh 2.启动SSH服务。/etc/init.d/ssh restart 3.测试ssh服务。如果此时在非root用户下,那么输入ssh loaclhost,会让你输入密码,而且会遇到一个输入yes/no的地方。请完整输入yes。然后确认。 4.切换 ...… 查看全部问答> |
|
在通用变频器、异步电动机和机械负载所组成的变频调速传统系统中,当电动机所传动的位能负载下放时,电动机将可能处于再生发电制动状态;或当电动机从高速到低速(含停车)减速时,频率可以突减,但因电机的机械惯性,电机可能处于再生发电状态, ...… 查看全部问答> |




