newphj 发表于 2018-2-21 11:23:39

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();
        }



newphj 发表于 2018-2-21 18:52:37

去掉PWR_UltraLowPowerCmd(ENABLE);这句就好了。

newphj 发表于 2018-2-21 18:54:03

跳出halt电流还有点大,

Tcreat 发表于 2018-2-21 21:52:10

首先halt模式下单片机已经不刷LCD了但是如果你的LCD没有断电的话那么LCD上最后刷新的信息应该还是可以显示的 ;其次 你这个方案 可能本身就存在一定的问题 LCD功耗本身就很大 HALT模式 如果LCD还工作 那你电流降不了多少    如果在halt模式 还想保持屏幕显示 可以考虑用段码屏 这样功耗会小很多或者用电子纸屏 电子纸屏断电后可以维持之前的显示信息 不需要持续供电

wudianjun2001 发表于 2018-2-23 15:00:37

同一楼上,段码屏还是比较省电的,在低成本,低功耗场合用的比较多,但缺点是显示的内容比较单一,内容都是固定的
页: [1]
查看完整版本: STM8L halt模式下LCD显示