|
我将RTC实时时钟和待机唤醒实验直接拼在一起,然后出现这种情况,按三秒wkup开机,能正常显示实时时钟,按三秒wkup,进入待机状态,在唤醒就白屏了,再待机 ,唤醒就正常。简单说就是待机唤醒重复操作,一次正常一次白屏,请问是为啥?
int main(void)
{
u8 t=0;
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
LED_Init();
WKUP_Init();
LCD_Init();
RTC_Init();
//RTC_Set(2004,12,31,23,59,55); //设置时间
  OINT_COLOR=RED;//设置字体为红色
LCD_ShowString(100,50,"Mini STM32");
LCD_ShowString(100,70,"RTC TEST");
LCD_ShowString(100,90,"@DONGSHI624");
LCD_ShowString(100,110,"2012/3/13");
//显示时间
  OINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(100,130," - - ");
LCD_ShowString(100,167," : : ");
while(1)
{
if(t!=timer.sec)
{
t=timer.sec;
LCD_ShowNum(100,130,timer.w_year,4,16);
LCD_ShowNum(140,130,timer.w_month,2,16);
LCD_ShowNum(164,130,timer.w_date,2,16);
switch(timer.week)
{
case 0:
LCD_ShowString(100,148,"Sunday ");
break;
case 1:
LCD_ShowString(100,148,"Monday ");
break;
case 2:
LCD_ShowString(100,148,"Tuesday ");
break;
case 3:
LCD_ShowString(100,148,"Wednesday");
break;
case 4:
LCD_ShowString(100,148,"Thursday ");
break;
case 5:
LCD_ShowString(100,148,"Friday ");
break;
case 6:
LCD_ShowString(100,148,"Saturday ");
break;
}
LCD_ShowNum(100,167,timer.hour,2,16);
LCD_ShowNum(124,167,timer.min,2,16);
LCD_ShowNum(148,167,timer.sec,2,16);
LED0=!LED0;
}
delay_ms(10);
};
}
|