![](http://bbs.mydigit.cn/images/post/smile/my1/sweat.gif)
本来想做个网络转TTL的,昨晚搞定,发现目前这个没什么用,家里的电器也不需要远程控制,突然灵机一动,想到网络自动校时……于是,就诞生了这个……
![](http://img.mydigit.net/Mon_1210/76_1060913_fcc9fc0780fd15a.jpg?233)
刚刚做出来的哟,,,时间要加上8,才是北京时间。
网上查的一段C语言获取网络时间的代码,时间同步服务器的IP地址是192.43.244.18,端口13,是从美国NIST(美国国家标准与技术研究院)获取的时间。原来的代码里面是用socket连的,我直接用TCP测试工具连接发现一连上马上有一串字符传过来,然后连接马上断开,字符串类似于:56230 12-10-30 12:23:12 06 0 0 94.4 UTC(NIST) * 。所以只要在单片机里面利用uIP去连接这个地址,获取字符串,然后把里面的时间取出来就可以了。
当然单片机本身也要有计时功能,然后每隔一段时间去连接一下校准一次就行了。
![](http://img.mydigit.net/Mon_1210/76_1060913_0fd7954b04ab671.jpg?204)
![](http://img.mydigit.net/Mon_1210/76_1060913_b0048bb7b6f3eb5.jpg?173)
这个时钟不需要按钮,不需要后备电池,只要有电源有网络,时间就能对得上。