⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtc.c

📁 arm电子日历arm electricity calendar
💻 C
📖 第 1 页 / 共 4 页
字号:
			goto	RTC_Set_Updata;
		}
		////
		
		if(RTC_Down_Key_Pressed())	// Down Key.
		{
			RTC_Set_Dec(&RTCTime,&i);
			goto	RTC_Set_Updata;
		
		}
		////
		
		if(RTC_Back_Key_Pressed())	// Back Key.
		{
		
			i--;
			goto	RTC_Set_Updata;
		}
		////
		
		if(RTC_Next_Key_Pressed())	// Next Key.
		{
			i++;
			goto	RTC_Set_Updata;
		
		}
			
		////
		
		if(RTC_Num_Key_Pressed())	// Number Key.
		{
		
			RTC_Set_Num(&RTCTime,&i,ASC_TO_HEX(Uart_Key));
			i++;
			goto	RTC_Set_Updata;
			
		
		
		}
		////
		
		if(RTC_Cancel_Key_Pressed())	return;	
		
		if(RTC_Enter_Key_Pressed())		goto	RTC_Set_Enter;	
		////
			
		goto	RTC_Set_Wait;
		
		////////
	
RTC_Set_Updata:
			

		Updata_RTC_Date_Time_Setting(&RTCTime,&i);
		////
		
RTC_Set_Wait:
		
			TS_Free();
			Key_Free();
			////
			
			while(1)
			{
				
				////	
				Uart_Key=GUI_DecNumberKeyBoard(20,LCD_YSIZE-72,LCD_XSIZE-20*2,64,0);
				
				if(Uart_Key==0){
					Uart_Key=Uart_GetKey(0);
					
				}
				
				if(Uart_Key!=0)	break;				
			
			}
		
		}
		////////
		///////
			
RTC_Set_Enter:	
			Uart_Key=0;
			
			if(RTCTime.Year>2099)	{i=Set_Year_H;	goto RTC_Set_ST;}
			if(RTCTime.Year<2000)	{i=Set_Year_H;	goto RTC_Set_ST;}
			
			if(RTCTime.Month>12)	{i=Set_Month_H;	goto RTC_Set_ST;}
			if(RTCTime.Month<=0)	{i=Set_Month_H;	goto RTC_Set_ST;}
			
			if(RTCTime.Day>RTC_GetMonthDays(RTCTime.Year,RTCTime.Month))		{i=Set_Day_H;	goto RTC_Set_ST;}
			if(RTCTime.Day<=0)		{i=Set_Day_H;	goto RTC_Set_ST;}
			
			if(RTCTime.Hour>23)		{i=Set_Hour_H;	goto RTC_Set_ST;}
			if(RTCTime.Min>59)		{i=Set_Min_H;	goto RTC_Set_ST;}
			if(RTCTime.Sec>59)		{i=Set_Sec_H;	goto RTC_Set_ST;}
			
			////
			

			RTC_SetTime(&RTCTime);
			
			Delay_n15ms(250/15);
			Key_Free();
			TS_Free();
			
}

/*============================================================================*/


/*============================================================================*/

/*============================================================================*/

void	RTC_ShowCalendar(int x,int y,int dx,int dy,int FontColor,int BkColor,struct	RTC_TIME *time)
{
	
	struct	GUI_BUTTON	TileBar[]={
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,	FONT(ASCII12x24,HZ16x16),			"---"},
							           	
							           		{			0,0,0,0,	0,0,0,	0,	0,	0,	0,0,	"--"},

										};
										
	////									
										
	struct	GUI_BUTTON	WeekBar[]={
											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"SUN"},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"MON"},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"THU"},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"WED"},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"THU"},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"FRI"},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			"SAT"},
							           		
							           		{			0,0,0,0,	0,0,0,	0,	0,	0,	0,	0,"--"},

										};
										
	////									
	struct	GUI_BUTTON	DayBar[]={
											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},

											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},

											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},

											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},

											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},

											{			0,0,0,0,	RGB565(28,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,00),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},
											{			0,0,0,0,	RGB565(00,00,28),RGB_TRANS,RGB_TRANS,	'0',	BN_2D,UP,	0,FONT(ASCII8x16,HZ16x16),			" "},

							        
							           		{			0,0,0,0,	0,0,0,	0,	0,	0,	0,	0,"--"},

										};
										
	////									
	struct	GUI_MATRIX_BN	m_TileBar;
	struct	GUI_MATRIX_BN	m_WeekBar;
	struct	GUI_MATRIX_BN	m_DayBar;
	////
	
	int	i,j,day_offset,days;
	char	TileStrBuf[256];
	char	DayStrBuf[42][8];
	char	*MonthName[13];
	
	////
	
	char	*s_SUN[]={"SUN","日","???"};
	char	*s_MON[]={"MON","一","???"};
	char	*s_TUE[]={"TUE","二","???"};
	char	*s_WED[]={"WED","三","???"};
	char	*s_THU[]={"THU","四","???"};
	char	*s_FRI[]={"FRI","五","???"};
	char	*s_SAT[]={"SAT","六","???"};
	
	char	*s_Jan[]={"Jan","一月","???"};
	char	*s_Feb[]={"Feb","二月","???"};
	char	*s_Mar[]={"Mar","三月","???"};
	char	*s_Apr[]={"Apr","四月","???"};
	char	*s_May[]={"May","五月","???"};
	char	*s_Jun[]={"Jun","六月","???"};
	char	*s_Jul[]={"Jul","七月","???"};
	char	*s_Aug[]={"Aug","八月","???"};
	char	*s_Sep[]={"Sep","九月","???"};
	char	*s_Oct[]={"Oct","十月","???"};
	char	*s_Nov[]={"Nov","十一月","???"};
	char	*s_Dec[]={"Dec","十二月","???"};
	////////		
	
	m_TileBar.x			=x;		
	m_TileBar.y			=y;
	m_TileBar.dx		=dx;
	m_TileBar.dy		=32;
	m_TileBar.xQty		=1;
	m_TileBar.yQty		=1;
	m_TileBar.xSpace	=0;	
	m_TileBar.ySpace	=0;
	m_TileBar.ActObj	=-1;
	m_TileBar.Enable	=1;
	m_TileBar.pBN		=TileBar;			
										
	m_WeekBar.x			=x;		
	m_WeekBar.y			=y+32;
	m_WeekBar.dx		=dx;
	m_WeekBar.dy		=24;
	m_WeekBar.xQty		=7;
	m_WeekBar.yQty		=1;
	m_WeekBar.xSpace	=0;	
	m_WeekBar.ySpace	=0;
	m_WeekBar.ActObj	=-1;
	m_WeekBar.Enable	=1;
	m_WeekBar.pBN		=WeekBar;			
										
	m_DayBar.x			=x;		
	m_DayBar.y			=y+32+24;
	m_DayBar.dx			=dx;
	m_DayBar.dy			=dy-32-24;
	m_DayBar.xQty		=7;
	m_DayBar.yQty		=6;
	m_DayBar.xSpace		=0;	
	m_DayBar.ySpace		=0;
	m_DayBar.ActObj		=-1;
	m_DayBar.Enable		=1;
	m_DayBar.pBN		=DayBar;			
	////
	
	GUI_SetButtonText(&m_WeekBar.pBN[0],(char*)GUI_Language(s_SUN));
	GUI_SetButtonText(&m_WeekBar.pBN[1],(char*)GUI_Language(s_MON));
	GUI_SetButtonText(&m_WeekBar.pBN[2],(char*)GUI_Language(s_TUE));
	GUI_SetButtonText(&m_WeekBar.pBN[3],(char*)GUI_Language(s_WED));
	GUI_SetButtonText(&m_WeekBar.pBN[4],(char*)GUI_Language(s_THU));
	GUI_SetButtonText(&m_WeekBar.pBN[5],(char*)GUI_Language(s_FRI));
	GUI_SetButtonText(&m_WeekBar.pBN[6],(char*)GUI_Language(s_SAT));
	
	MonthName[1]=(char*)GUI_Language(s_Jan);
	MonthName[2]=(char*)GUI_Language(s_Feb);
	MonthName[3]=(char*)GUI_Language(s_Mar);
	MonthName[4]=(char*)GUI_Language(s_Apr);
	MonthName[5]=(char*)GUI_Language(s_May);
	MonthName[6]=(char*)GUI_Language(s_Jun);
	MonthName[7]=(char*)GUI_Language(s_Jul);
	MonthName[8]=(char*)GUI_Language(s_Aug);
	MonthName[9]=(char*)GUI_Language(s_Sep);
	MonthName[10]=(char*)GUI_Language(s_Oct);
	MonthName[11]=(char*)GUI_Language(s_Nov);
	MonthName[12]=(char*)GUI_Language(s_Dec);
	////
	
	GUI_FillRectangle(x+1,y+1,dx-1,dy-1,BkColor);
	GUI_Rectangle(x,y,dx,dy,RGB565(10,20,10));
	
	GUI_TransFillRectangle(m_WeekBar.x+1,m_WeekBar.y-1,m_WeekBar.dx-2,2,RGB565(31,63,31));
	
	GUI_StrPrintf(TileStrBuf,"%s - %04d",MonthName[time->Month],time->Year);
	m_TileBar.pBN[0].Text=TileStrBuf;

	days		=RTC_GetMonthDays(time->Year,time->Month); 
	day_offset	=RTC_GetWeek(time->Year,time->Month,1);
	////
	
	for(i=1;i<days+1;i++)
	{
		m_DayBar.pBN[day_offset].Text=&DayStrBuf[day_offset][0];
		
		GUI_StrPrintf(m_DayBar.pBN[day_offset].Text,"%d",i);
		
		////
		if(i==time->Day)
		{
			m_DayBar.pBN[day_offset].BkColor	=RGB565(0,56,0);
			m_DayBar.ActObj					=day_offset;
		}
		////
		
		day_offset++;
	}
	////
								
		
	GUI_PutMatrixButton(&m_TileBar);
	GUI_PutMatrixButton(&m_WeekBar);
	GUI_PutMatrixButton(&m_DayBar);
	
	
}

/*============================================================================*/


#include	"Calendar_Icon.c"
#include	"Calendar_SmallIcon.c"

int		RTC_Calendar(void *pdata)
{

	#define		YEAR_INC	USER_MSG+0
	#define		YEAR_DEC	USER_MSG+1
	
	#define		MONTH_INC	USER_MSG+2
	#define		MONTH_DEC	USER_MSG+3
	#define		GOTO_TODAY	USER_MSG+4
	
	////
	char	*s_YearBack[]={"<- Year","<- 年","---"};
	char	*s_YearNext[]={"Year ->","年 ->","---"};
			
	char	*s_MonthBack[]={"<- Month","<- 月","---"};
	char	*s_MonthNext[]={"Month ->","月 ->","---"};
		
	char	*s_Exit[]={"Exit","退出","---"};
	char	*s_Today[]={"Today","今天","---"};
			

			
	int	wnd,i;
	struct	RTC_TIME	time;
	
	struct	GUI_BUTTON	button[]={
											{			0,0,0,0,	RGB565(31,63,00),RGB565(10,20,10),RGB565(00,00,00),	YEAR_DEC,	BN_BRIGHT,UP,	0,	FONT(ASCII8x16,HZ16x16),			"<- Year"},
											{			0,0,0,0,	RGB565(31,63,00),RGB565(10,20,10),RGB565(00,00,00),	YEAR_INC,	BN_BRIGHT,UP,	0,	FONT(ASCII8x16,HZ16x16),			"Year ->"},
											{			0,0,0,0,	RGB565(31,63,00),RGB565(10,20,10),RGB565(00,00,00),	MONTH_DEC,	BN_BRIGHT,UP,	0,	FONT(ASCII8x16,HZ16x16),			"<- Month"},
											{			0,0,0,0,	RGB565(31,63,00),RGB565(10,20,10),RGB565(00,00,00),	MONTH_INC,	BN_BRIGHT,UP,	0,	FONT(ASCII8x16,HZ16x16),			"Month ->"},
											{			0,0,0,0,	RGB565(31,00,00),RGB565(10,20,10),RGB565(00,00,00),	KEY_ID_ESC,	BN_BRIGHT,UP,	0,	FONT(ASCII8x16,HZ16x16),			"Exit"},
											{			0,0,0,0,	RGB565(00,63,00),RGB565(10,20,10),RGB565(00,00,00),	GOTO_TODAY,	BN_BRIGHT,UP,	0,	FONT(ASCII8x16,HZ16x16),			"Today"},

							        
							           		{			0,0,0,0,	0,0,0,	0,	0,	0,	0,	0,"--"},

									};
	

	struct	GUI_MATRIX_BN	m_button;	
	////////
	
	char	*s_Name[]={"Calendar","日历","???"};
	
	////////
	
	if(pdata)
	{
		struct	PGM_INFO *pInfo	=pdata;
		pInfo->Name			=(char*)GUI_Language(s_Name);
		pInfo->pIcon		=(void*)Calendar_Icon;
		pInfo->pSmallIcon	=(void*)Calendar_SmallIcon;
		pInfo->ExtraInfo	="Version:1.0";
		return	1;
	
	}

	////////
	
	GUI_MemdevEnable();
	////

	m_button.x		=0;
	m_button.y		=LCD_YSIZE-80;
	m_button.dx		=LCD_XSIZE;
	m_button.dy		=72;
	m_button.xQty	=2;
	m_button.yQty	=3;
	m_button.xSpace	=32;
	m_button.ySpace	=4;
	m_button.ActObj	=0;
	m_button.Enable	=1;
	m_button.pBN	=button;
	////
			
	RTC_GetTime(&time);

	GUI_SetButtonText(&m_button.pBN[0],(char*)GUI_Language(s_YearBack));
	GUI_SetButtonText(&m_button.pBN[1],(char*)GUI_Language(s_YearNext));
	GUI_SetButtonText(&m_button.pBN[2],(char*)GUI_Language(s_MonthBack));
	GUI_SetButtonText(&m_button.pBN[3],(char*)GUI_Language(s_MonthNext));
	GUI_SetButtonText(&m_button.pBN[4],(char*)GUI_Language(s_Exit));
	GUI_SetButtonText(&m_button.pBN[5],(char*)GUI_Language(s_Today));
	
	TS_Free();
	Key_Free();
	while(1)
	{
		int a;
		
		/////
		
st:		
		
		GUI_Image(0,0,GUI_GetWallpaper());
		
		
		GUI_SetTrans(128);
		RTC_ShowCalendar(20,20,LCD_XSIZE-20*2,160,RGB565(00,00,00),RGB565(24,48,24),&time);
		GUI_PutMatrixButton(&m_button);
		GUI_SetTrans(0);
		
		RTC_ShowCalendar(20,20,LCD_XSIZE-20*2,160,RGB565(00,00,00),RGB_TRANS,&time);
		GUI_ShowMatrixButtonText(&m_button);
		
	
		GUI_DisplayUpdate(0,0,LCD_XSIZE,LCD_YSIZE);

		TS_Free();
		Key_Free();
		////
		
		while(1)
		{
			int	val;
			////
			val=GUI_GetMatrixButton(&m_button);
			
			if(val)
			{
				GUI_DisplayUpdate(m_button.x,m_button.y,m_button.dx,m_button.dx);
				while(pGUI_TS->IsDown());
				GUI_FreeButton(m_button.pBN);
				GUI_PutButton(m_button.pBN);
				GUI_DisplayUpdate(m_button.x,m_button.y,m_button.dx,m_button.dx);
				////
				
				switch(val)
				{
					case	KEY_ID_ESC:
					
							goto	ret;
							break;
							////
							
					case	YEAR_DEC:
							
							if(time.Year<=2000)
							{
								time.Year=2099;
							}
							else
							{
								time.Year--;
							}
							goto st;
							////
							
					case	YEAR_INC:
					
							if(time.Year>=2099)
							{
								time.Year=2000;
							}
							else
							{
								time.Year++;
							}
							goto st;
							////
							
					case	MONTH_DEC:
							
							if(time.Month<=1)
							{
								time.Month=12;
							}
							else
							{
								time.Month--;
							}
							goto st;
							////
							
					case	MONTH_INC:
					
							if(time.Month>=12)
							{
								time.Month=1;
							}
							else
							{
								time.Month++;
							}
							goto st;
							////	
													
					case	GOTO_TODAY:
					
							RTC_GetTime(&time);
							goto st;
							////		
				
				}
				////////
				
												
				
			}
			
		}
	}
	////////

ret:	
	GUI_SetTrans(0);
	PWR_EnableBkLightAutoTurnoff();;
	TS_Free();
	Key_Free();
	
}

/*============================================================================*/

void	RTC_Init(void)
{
	RTC_DrvInit();
}

/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -