87 lines
1.9 KiB
C
87 lines
1.9 KiB
C
|
|
#include "GameEngine.h"
|
|||
|
|
#include "WLAN.h"
|
|||
|
|
|
|||
|
|
#include "Clock.h"
|
|||
|
|
|
|||
|
|
ClockTime clock_time = {0, 0, 0, 0, 0, 0};
|
|||
|
|
uint8_t is_disp = 0;
|
|||
|
|
uint16_t disp_x;
|
|||
|
|
uint16_t disp_y;
|
|||
|
|
uint8_t disp_mode;
|
|||
|
|
|
|||
|
|
void Clock_Init(void)
|
|||
|
|
{
|
|||
|
|
printf(
|
|||
|
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡʱ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɹ<EFBFBD>: %d\nʱ<EFBFBD><EFBFBD>: %d-%d-%d %d:%d:%d\n",
|
|||
|
|
Clock_Sync(),
|
|||
|
|
clock_time.year,
|
|||
|
|
clock_time.month,
|
|||
|
|
clock_time.day,
|
|||
|
|
clock_time.hour,
|
|||
|
|
clock_time.minute,
|
|||
|
|
clock_time.second);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
uint8_t Clock_Sync(void)
|
|||
|
|
{
|
|||
|
|
uint8_t clock_time_str[20];
|
|||
|
|
if (WLAN_GetNetClockTime(clock_time_str) != 1)
|
|||
|
|
return 0;
|
|||
|
|
|
|||
|
|
uint8_t *p;
|
|||
|
|
|
|||
|
|
strtok(clock_time_str, "&");
|
|||
|
|
sscanf(clock_time_str, "%d", &clock_time.year);
|
|||
|
|
p = strtok(NULL, "&");
|
|||
|
|
sscanf(p, "%d", &clock_time.month);
|
|||
|
|
p = strtok(NULL, "&");
|
|||
|
|
sscanf(p, "%d", &clock_time.day);
|
|||
|
|
p = strtok(NULL, "&");
|
|||
|
|
sscanf(p, "%d", &clock_time.hour);
|
|||
|
|
p = strtok(NULL, "&");
|
|||
|
|
sscanf(p, "%d", &clock_time.minute);
|
|||
|
|
p = strtok(NULL, "&");
|
|||
|
|
sscanf(p, "%d", &clock_time.second);
|
|||
|
|
|
|||
|
|
return 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Clock_Handler(void)
|
|||
|
|
{
|
|||
|
|
clock_time.second++;
|
|||
|
|
|
|||
|
|
if (clock_time.second == 60)
|
|||
|
|
{
|
|||
|
|
clock_time.second = 0;
|
|||
|
|
clock_time.minute++;
|
|||
|
|
|
|||
|
|
if (clock_time.minute == 60)
|
|||
|
|
{
|
|||
|
|
clock_time.minute = 0;
|
|||
|
|
clock_time.hour++;
|
|||
|
|
|
|||
|
|
if (clock_time.hour == 24)
|
|||
|
|
{
|
|||
|
|
clock_time.hour = 0;
|
|||
|
|
clock_time.day++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// static char temp_str[20];
|
|||
|
|
// if (is_disp)
|
|||
|
|
// {
|
|||
|
|
// sprintf(
|
|||
|
|
// temp_str,
|
|||
|
|
// "%04d %02d %02d %02d %02d %02d",
|
|||
|
|
// clock_time.year,
|
|||
|
|
// clock_time.month,
|
|||
|
|
// clock_time.day,
|
|||
|
|
// clock_time.hour,
|
|||
|
|
// clock_time.minute,
|
|||
|
|
// clock_time.second);
|
|||
|
|
// GE_Font_Print(disp_x, disp_y, BORDER_MAX, BORDER_MAX, FONT_16, BLUE, WHITE, FALSE, temp_str);
|
|||
|
|
// GE_Draw_Disp();
|
|||
|
|
// }
|
|||
|
|
}
|