![](http://club.gizwits.com/data/attachment/forum/201611/22/191402xsem52k1efg85254.png)
在开发向导下载串口通信协议,找到4.13,MCU请求获取网络时间:
![](http://club.gizwits.com/data/attachment/forum/201611/22/191444lez33rpjv07gtd2a.png)
可以看出MCU发出的命令码是0x17,WIFI模组回复的命令码是0x18.
下面开始增加同步网络时间方法:
step1:在gizwits_protocol.h的PROTOCOL_CMDTYPE结构体添加2个命令码:
![](http://club.gizwits.com/data/attachment/forum/201611/22/191634xj99i7ii72ks9wki.png)
step2:在gizwits_protocol.c文件里编写一个获取网络时间的API,即发送命令码0x17;
![](http://club.gizwits.com/data/attachment/forum/201611/22/191949ftghogvihxm5joco.png)
step3:在gizwits_protocol.h文件**一下定义的获取网络时间API,另外**一个结构体用来保存时间:年、月、日、时、分、秒;
![](http://club.gizwits.com/data/attachment/forum/201611/22/192217lvzx3xi2ll39h39m.png)
step4:在gizwits_protocol.c里面的int32_t gizwitsHandle(dataPoint_t *currentData)函数里面添加以下代码,即WIFI模组返回时间后,就读取时间;在函数体外面定义一下用来保存时间的结构体mytime;
![](http://club.gizwits.com/data/attachment/forum/201611/22/192726vewwzgv8686wlbcw.png)
![](http://club.gizwits.com/data/attachment/forum/201611/22/192408o4ab9pofxvvxl5ub.png)
step5:最后在main.c的userhandle里面添加打印日期的代码,这里1s打印一次便于观察;
![](http://club.gizwits.com/data/attachment/forum/201611/22/193345r0ou80njo8gr0ggu.png)
最后烧录好用串口调试助手看是酱紫的:
![](http://club.gizwits.com/data/attachment/forum/201611/22/193510r7fw1q6ldd6r5zf7.png)
这里只是演示了MCU获取时间的方法,在上电未连接服务器时获取的时间是有误的,具体需要根据实际修改,比如判断连接服务器后才获取时间。
附件:
1.完整keil工程源码:
![](http://club.gizwits.com/static/image/filetype/zip.gif)
2.本例程的串口通信协议文档:
![](http://club.gizwits.com/static/image/filetype/pdf.gif)
3.测试手机APP:
![](http://club.gizwits.com/static/image/filetype/zip.gif)
![](http://club.gizwits.com/static/image/filetype/zip.gif)