移远M26 GSM实时获取网络时间
移远M26 GSM实时获取网络时间
1.启用同步网络时间, 开启同步网络时间功能 AT+QNITZ=1,响应OK
2.获取最近一次的网络同步时间 AT+QLTS,响应+QLTS: <time>,<ds>
例: +QLTS: "18/03/14,08:08:35+32,0"
time格式: yy/MM/dd,hh:mm:ss±zz,各指年,月,日,小时,分钟,秒和时区(用当地时间和 GMT 时间之间的差别来表示,以四分之一小时格式来表示;范围(-47~+48)
将获取的时间存于结构体ST_Time local_time中
local_time.year = atoi(pHead +8); //其中*pHead指向+QLTS: "18/03/14,08:08:35+32,0"
local_time.month = atoi(pHead+11);
local_time.day = atoi(pHead+14);
local_time.hour = atoi(pHead+17);
local_time.minute= atoi(pHead+20);
local_time.second = atoi(pHead+23);
local_time.timezone = atoi(pHead+26);
typedef struct {
s32 year;
s32 month;
s32 day;
s32 hour;
s32 minute;
s32 second;
s32 timezone;
}ST_Time;
3.用获取的同步时间配置实时时钟 AT+CCLK=<time>, 响应OK,
例:AT+CCLK="18/03/14,08:08:35+32"
4.获取实时时钟AT+CCLK? 响应+CCLK: <time>
例 +CCLK: "18/03/14,08:09:06+32"
备注:每次重新上电获取一次网络时间,并将其设置为RTC时间,之后就可以通过实时查询实时时钟得到准确时间