#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "usmart.h"
#include "rtc.h"
//ALIENTEK桵耦STM32羲楷啣妗桄15
//RTC妗奀奀笘妗桄
//撮扲盓厥ㄩwww.openedv.com
//嫘笣庈陎秫萇赽褪撮衄癹鼠侗
//extern RTC_Set(syear,smon,sday,hour,min,sec);
int main(void)
{
u8 t=0;
u8 Ptimes=0;
delay_init(); //晊奀滲杅場宎趙
NVIC_Configuration(); //扢离NVIC笢剿煦郪2:2弇?梩蚥珂撰ㄛ2弇砒茼蚥珂撰
uart_init(9600); //揹諳場宎趙峈9600
LED_Init(); //LED傷諳場宎趙
LCD_Init();
KEY_Init();
usmart_dev.init(SystemCoreClock/1000000); //場宎趙USMART
  OINT_COLOR=RED;//扢离趼极峈綻伎
LCD_ShowString(60,50,"WarShip STM32");
LCD_ShowString(60,70,"RTC TEST");
LCD_ShowString(60,90,"ATOM@ALIENTEK");
LCD_ShowString(60,110,"2012/9/7");
while(RTC_Init()) //RTC場宎趙 ㄛ珨隅猁場宎趙傖髡
{
LCD_ShowString(60,130,"RTC ERROR! ");
delay_ms(800);
LCD_ShowString(60,130,"RTC Trying...");
}
//珆尨奀潔
  OINT_COLOR=BLUE;//扢离趼极峈懦伎
LCD_ShowString(60,130," - - ");
LCD_ShowString(60,162," : : ");
while(1)
{
if(KEY_Scan()==2&KEY_Scan()==1)
{
delay_ms(10);
if(KEY_Scan()==2&KEY_Scan()==1)
{
//BKP_WriteBackupRegister(BKP_DR1, 0X5f50);
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //妏夔PWR睿BKP俋扢奀笘
//PWR_BackupAccessCmd(ENABLE); //妏夔綴掘敵湔?溼恀
//BKP_DeInit(); //葩弇掘爺?郖
if(KEY_Scan()==3)
{
if(Ptimes>5)Ptimes=0;
while(KEY_Scan()==3);
Ptimes++;
}
if(Ptimes==0)
{
if(KEY_Scan()==1)calendar.sec++;
if(KEY_Scan()==2)calendar.sec--;
}
if(Ptimes==1)
{
if(KEY_Scan()==1)calendar.min++;
if(KEY_Scan()==2)calendar.min--;
}
if(Ptimes==2)
{
if(KEY_Scan()==1)calendar.hour++;
if(KEY_Scan()==2)calendar.hour--;
}
if(Ptimes==3)
{
if(KEY_Scan()==1)calendar.w_date++;
if(KEY_Scan()==2)calendar.w_date--;
}
if(Ptimes==4)
{
if(KEY_Scan()==1)calendar.w_month;
if(KEY_Scan()==2)calendar.w_month;
}
if(Ptimes==5)
{
if(KEY_Scan()==1)calendar.w_year++;
if(KEY_Scan()==2)calendar.w_year--;
}
}
//RTC_Init();
//(void*)RTC_Set,"u8 RTC_Set(u16 syear,u8 smon,u8 sday,u8 hour,u8 min,u8 sec)",
// RTC_WaitForLastTask();
RTC_Set(calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
//脹渾郔輪珨棒勤RTC敵湔?腔迡紱釬俇傖
//RTC_Set(2009,12,2,10,0,55); //扢离奀潔
//RTC_ExitConfigMode(); //豖堤饜离耀宒
//BKP_WriteBackupRegister(BKP_DR1, 0X5050); //砃硌隅腔綴掘敵湔?笢迡?蚚誧最唗杅擂
}
if(t!=calendar.sec)
{
t=calendar.sec;
LCD_ShowNum(60,130,calendar.w_year,4,16);
LCD_ShowNum(100,130,calendar.w_month,2,16);
LCD_ShowNum(124,130,calendar.w_date,2,16);
switch(calendar.week)
{
case 0:
LCD_ShowString(60,148,"Sunday ");
break;
case 1:
LCD_ShowString(60,148,"Monday ");
break;
case 2:
LCD_ShowString(60,148,"Tuesday ");
break;
case 3:
LCD_ShowString(60,148,"Wednesday");
break;
case 4:
LCD_ShowString(60,148,"Thursday ");
break;
case 5:
LCD_ShowString(60,148,"Friday ");
break;
case 6:
LCD_ShowString(60,148,"Saturday ");
break;
}
LCD_ShowNum(60,162,calendar.hour,2,16);
LCD_ShowNum(84,162,calendar.min,2,16);
LCD_ShowNum(108,162,calendar.sec,2,16);
//LED0=!LED0;
}
delay_ms(10);
};
}
进不了按键程序,红色部分,求解? |