基于STM32的多功能数字钟
else if((tp_dev.x[0]> else if((tp_dev.x[0]>110)&&(tp_dev.x[0]<160)&&(tp_dev.y[0]>250)&&(tp_dev.y[0]<290))
{LCD_Fill(111,251,159,289,YELLOW);LCD_ShowString(120,260,36,24,24," + ");}
else if((tp_dev.x[0]>170)&&(tp_dev.x[0]<220)&&(tp_dev.y[0]>250)&&(tp_dev.y[0]<290))
{LCD_Fill(171,251,219,289,YELLOW);LCD_ShowString(180,260,36,24,24," - ");}
}
if((USART_RX_STA&0x8000))//收到了一帧串行口数据,进行解析。
{
switch(USART_RX_BUF[0])
{
case t:{//time是调时间
S_timer.s_hour=(USART_RX_BUF[1]-0)*10+(USART_RX_BUF[2]-0);
S_timer.s_min=(USART_RX_BUF[3]-0)*10+(USART_RX_BUF[4]-0);
S_timer.s_sec=(USART_RX_BUF[5]-0)*10+(USART_RX_BUF[6]-0);
USART_RX_STA=0;
printf("set time:%s",USART_RX_BUF);
calendar.sec=S_timer.s_sec;
calendar.hour=S_timer.s_hour;
calendar.min=S_timer.s_min;
calendar.w_date=S_timer.s_date;
calendar.w_month=S_timer.s_month;
calendar.w_year=S_timer.s_year;
calendar.week=S_timer.s_week;
RTC_Set(calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
break;
}
case d:{//date是调日期
S_timer.s_year =(USART_RX_BUF[1]-0)*1000+(USART_RX_BUF[2]-0)*100+(USART_RX_BUF[3]-0)*10+(USART_RX_BUF[4]-0);
S_timer.s_month=(USART_RX_BUF[5]-0)*10+(USART_RX_BUF[6]-0);
S_timer.s_date=(USART_RX_BUF[7]-0)*10+(USART_RX_BUF[8]-0);
USART_RX_STA=0;
printf("set date:%s",USART_RX_BUF);
calendar.sec=S_timer.s_sec;
calendar.hour=S_timer.s_hour;
calendar.min=S_timer.s_min;
calendar.w_date=S_timer.s_date;
calendar.w_month=S_timer.s_month;
calendar.w_year=S_timer.s_year;
calendar.week=S_timer.s_week;
RTC_Set(calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
break;
}
default :break;
}
}
if(flag_tiao!=0)//用于调节时闪烁显示
{
switch(flag_tiao)
{
case 1: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*13,140,24,24,24," ");
break;
}
else goto kk2;
}
case 2: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*10,140,24,24,24," ");
break;
}
else goto kk2;
}
case 3: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*7,140,24,24,24," ");
break;
}
else goto kk2;
}
case 4: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*15,100,24,24,24," ");
break;
}
else goto kk2;
}
case 5: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*12,100,24,24,24," ");
break;
}
else goto kk2;
}
case 6: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*10,100,24,24,24," ");
break;
}
else goto kk2;
}
case 7: {
if(flag_250ms==1)
{
LCD_ShowString(30+12*5,100,48,24,24," ");
break;
}
else goto kk2;
}
kk2:
{
sprintf(temp,"DATE:%d-%d-%d %d",calendar.w_year,calendar.w_month,calendar.w_date,calendar.week);
LCD_ShowString(30,100,210,24,24,temp);
sprintf(temp,"TIME: %d:%d:%d ",calendar.hour,calendar.min,calendar.sec);
LCD_ShowString(30,140,210,24,24,temp);
break;
}
default :break ;
}
}
else//正常显示
{
STM32数字 相关文章:
- STM32 数字电压表 LM317 可调电源(12-03)
- 基于STM32的多功能数字钟(中文版)(11-18)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
