[mw_shl_code=c,true]//exit中断代码注释掉,改成WKUP中断处理函数,用的寄存器版本
#include "exti.h"
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "timer.h"
//#include "font.h"
#include "lcd.h"
#include "rtc.h"
#include "wkup.h"
//Mini STM32开发板范例代码2
//按键输入实验
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
const u8 *COMPILED_DATE=__DATE__;//获取编译日期
const u8 *COMPILED_TIME=__TIME__;//获取编译时间
const u8 *Week[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
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();
//Auto_Time_Set();//设置当前时间为编译时间,断电复位无效,只能烧录一次
//RTC_Set(2014,10,21,23,59,50);//手动设置一次,断电重新设置,无效了
// LCD_Clear(GREEN); 如果不注释,绿色会反转为粉色
POINT_COLOR=RED;//设置字体颜色为红色
LCD_ShowString(60,50,"Mini STM32");
//显示时间
POINT_COLOR=BLUE;
LCD_ShowString(60,130," - -");
LCD_ShowString(60,172," : :");
while(1)
{
if(t!=timer.sec)
{
t=timer.sec;
LCD_ShowNum(60,130,timer.w_year,4,16);
LCD_ShowNum(100,130,timer.w_month,2,16);
LCD_ShowNum(124,130,timer.w_date,2,16);
switch(timer.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,172,timer.hour,2,16);
LCD_ShowNum(84,172,timer.min,2,16);
LCD_ShowNum(108,172,timer.sec,2,16);
LED0=!LED0;
}
delay_ms(10);
}
}
[/mw_shl_code]
|