在线时间0 小时
UID2030013
注册时间2013-7-31
NXP金币0
该用户从未签到
新手上路

- 积分
- 46
- 最后登录
- 1970-1-1
|
- CodeWarrior for MCU
Version: 10.4
Build Id:130425
特别版
--------------------
// 这个子程序用来判断,输入的日期是否合法。合法返回0,非法返回错误码
uint8_t GoodRtc(uint8_t *p_rtc)
{
uint8_t days;
if(p_rtc[YEAR]==0 || p_rtc[YEAR]>99)
{
return 1;
}
if(p_rtc[MON]==0 || p_rtc[MON]>12)
{
return 2;
}
days=MonthDays(p_rtc[YEAR],p_rtc[MON]);
if(p_rtc[DATE]==0 || p_rtc[DATE]>days)
{
return 3;
}
if(p_rtc[HOUR]>23)
{
return 4;
}
if(p_rtc[MIN]>59)
{
return 5;
}
if(p_rtc[SEC]>59)
{
return 6;
}
return 0;
}
// 调用
void ComSdt()
{
uint8_t k;
int i;
int buf[7];
char b[40];
i=sscanf(&cli_buffer[13],"%d/%d/%d %d:%d:%d",&buf[DATE],&buf[MON],&buf[YEAR],&buf[HOUR],&buf[MIN],&buf[SEC]);
// 调试信息输出
sprintf(b,"%d %d/%d/%d %d:%d:%d", i, buf[DATE], buf[MON], buf[YEAR], buf[HOUR], buf[MIN], buf[SEC]);
SciPuts(b);
if(i!=6)
{
SciPuts("Invalid Date or Time.\r\n");
}
else
{
if(buf[YEAR]>=2000)
{
buf[YEAR]-=2000;
}
for(i=0;i
|
|