STM8L halt模式下LCD显示
STM8L进入halt模式下,LCD还可以显示吗?想做一个低功耗的时钟。现在RTC工作正常,进入halt,LCD就显示很暗淡了。代码如下,希望前辈指点,感激不尽。RTC_InitTypeDef RTC_InitStr;
LCD_GLASS_Init();
CLK_LSEConfig(CLK_LSE_ON);
CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);
while (CLK_GetFlagStatus(CLK_FLAG_LSERDY) == RESET);
RTC_WakeUpCmd(DISABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);
RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
//RTC_SetWakeUpCounter(2047);//1S
RTC_SetWakeUpCounter(1023);//0.5S
ITC_SetSoftwarePriority(RTC_IRQn, ITC_PriorityLevel_3);//优先级
RTC_InitStr.RTC_HourFormat = RTC_HourFormat_24;
RTC_InitStr.RTC_AsynchPrediv = 0x7F;
RTC_InitStr.RTC_SynchPrediv = 0x00FF;
RTC_Init(&RTC_InitStr);
enableInterrupts();
while (1)
{
PWR_FastWakeUpCmd(ENABLE);
PWR_UltraLowPowerCmd(ENABLE);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
RTC_WakeUpCmd(ENABLE);
halt();
RTC_WakeUpCmd(DISABLE);
USERRTC_Update();
GLASS_Update();
}
去掉PWR_UltraLowPowerCmd(ENABLE);这句就好了。 跳出halt电流还有点大, 首先halt模式下单片机已经不刷LCD了但是如果你的LCD没有断电的话那么LCD上最后刷新的信息应该还是可以显示的 ;其次 你这个方案 可能本身就存在一定的问题 LCD功耗本身就很大 HALT模式 如果LCD还工作 那你电流降不了多少 如果在halt模式 还想保持屏幕显示 可以考虑用段码屏 这样功耗会小很多或者用电子纸屏 电子纸屏断电后可以维持之前的显示信息 不需要持续供电 同一楼上,段码屏还是比较省电的,在低成本,低功耗场合用的比较多,但缺点是显示的内容比较单一,内容都是固定的
页:
[1]