查看: 187|回复: 0

[技术] 【赚周年币】技术帖——Fireduino学习13:获取NTP服务器时间

[复制链接]

1555

主题

25

好友

6229

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    12 小时前
  • 签到天数: 998 天

    连续签到: 4 天

    [LV.10]以坛为家III

    活跃会员勋章 发帖机器勋章 在线之王勋章

    发表于 2016-12-15 14:56:47 |显示全部楼层
            我们平时使用的系统时间会出现误差,现在我们的板卡可以上网了,就可以通过网络来校时,确保时间的准确。网络上有ntp(network time protocol)服务器,提供当前的时刻。我们可以将本地的时刻与ntp服务器的时刻进行同步。

        时间的服务器国内国外的都很多,下面看看常用的服务器,要想更详细的资料,请自行查找。
    1.png
    2.png

            我使用的国外的一个服务器的时间,先用网络调试软件来测试下,发送一帧命令后,得到了回复,回复数据包中的40-43字节就是从1900年1月1日开始到现在的秒数。使用UDP协议,很简单的操作。
    3.png

    下面来看看程序的编写,首先的用到的参数等定义
    4.png

    系统初始化,这里初始化串口等
    5.png

    网络初始化
    6.png

    主程序,很简单,关键的函数在ntpTime里面
    7.png

    ntpTime函数,发送请求信息数据包,得到信息后进行日期时间计算处理,然后初始化RTC
    8.png

    时间定时读取显示
    9.png

    串口打印内容
    10.png

    5110显示
    11.png

    12.png


    源代码
    fire.rar (9.95 KB, 下载次数: 7)

    已有 1 人评分 收起 理由
    loveeeboard + 20

    总评分:  + 20   查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-8-17 21:31 , Processed in 0.114825 second(s), 15 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部