历史上的今天
今天是:2024年11月15日(星期五)
2019年11月15日 | STM8L Active-halt模式下的低功耗调试
2019-11-15 来源:eefocus
此模式下的低功耗与halt模式下的低功耗差不多,但Active-halt模式下多了个唤醒,而halt模式下是深睡,主频外设什么的全部都关掉了;Active-halt模式下,一样的首先要将没用到的GPIO全部输出低,其它用到的按要求配置即可,这个低功耗主要的就是GPIO的配置状态,及外设的功耗,其实也很容易就完成。还有最重要的一点,PWR_UltraLowPowerCmd(ENABLE);//超低功耗这句必须得有,不然不会到超低功耗。
void RTC_Config(void)
{
//CLK_LSEConfig(CLK_LSE_ON);
CLK_LSICmd(ENABLE);//使能LSI
CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);//RTC时钟源LSI,1分频=38K
while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);//等待LSI就绪
RTC_WakeUpCmd(DISABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//RTC时钟门控使能
RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);//38K/16=2.375k=0.421ms
RTC_ITConfig(RTC_IT_WUT, ENABLE);//开启中断
RTC_SetWakeUpCounter(2375*5);//2375*0,421=1S左右
//ITC_SetSoftwarePriority(RTC_CSSLSE_IRQn, ITC_PriorityLevel_3);//优先级
enableInterrupts();
}
int main( void )
{
asm("sim"); //全局中断关闭
// CLK_Config();
PWR_FastWakeUpCmd(ENABLE); //快速唤醒使能
RTC_Config();
GPIOInit(); //IO初始化
asm("rim"); //全局中断开启
PWR_UltraLowPowerCmd(ENABLE);//超低功耗
RTC_ITConfig(RTC_IT_WUT, ENABLE);//唤醒定时器中断使能
RTC_WakeUpCmd(ENABLE);//RTC唤醒使能
while(1)
{
halt();
}
}
实测Active-halt睡眠模式 时为1.0uA,接近理论的0.9-2.1uA
上一篇:STM8L低功耗调试总结
下一篇:stm8低功耗 唤醒
史海拾趣
|
用89C2051、24C02设计程序,达到下列功能:(最好能用C51语言设计) 89S2051接受两个按键的控制信号进行增减计数,并在数码管显示0、1、2、3、4、5、6、7、8、9、A、B、C|、D、E、F共16种状态。 同时输出控制信号0~16的二进制步进数值(D1~D4)给 ...… 查看全部问答> |
|
目前在做VxWorks的应用程序代码移植,从5.4到6.5,在5.4的代码使用了ifLib库里的函数,如ifunit()、ifAddrGet()等;而在VxWorks6.5中,ifLib库已经没用,请问是用别的库来代替?若是,可否有针对性的对ifunit()做个移植的解释?谢谢!… 查看全部问答> |
|
C#写的MMI程序不能在CE里运行。在XP下双击该程序,运行正常,可拷到CE下却不能运行,什么也不提示。可是在.net studio中下载到CE中,却可以调试并正常显示。 请问,是不是PB生成bin时,什么组建没加进去? 其中,.net compact framework1.0已经 ...… 查看全部问答> |
|
在WINCE6.0上使用附带的WEB服务器,能够访问htm文件。但是不能打开ASP文件。错误是501/505。不明白是怎么回事。 望有经验者指导一下。… 查看全部问答> |
|
如何将一个wince应用程序通过pc机下载到wince平台中,通自已写的开发的程序进行下载,而不是通过开发工具下载。下载程序与cdtk类似(将exe或dll下载到wince平台中),请各位大虾指点该下载程序的开发思路。 … 查看全部问答> |
|
请问谁有MSG710芯片驱动(最好是linux下面的)的,现在正在做模拟屏的驱动,第一次做芯片驱动又比较急,不知道该怎么下手,想要一份参考一下。谢谢。 luogk@magliving.com … 查看全部问答> |




