W5500EVB从网络上获取标准时间
生活随笔
收集整理的這篇文章主要介紹了
W5500EVB从网络上获取标准时间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
硬件資料
硬件設計
工程下載
參考代碼
實現步驟
NTP是網絡時間協議,是用來使設備時間同步化的一種協議,在一些應用場合里,時間同步是十分重要的,特別是隨著設備運行時間云長,時間誤差就越來越大,因為設備中晶振自身會產生誤差。那么NTP協議就可以解決這個問題。 下面我們就結合W5500介紹一下如何使用W5500實現NTP協議,即從一個遠程NTP服務器獲取標準網絡時間,通過換算成北京時間(東八區),然后通過串口把時間打印出來。相信通過本次講解,一定會使你對NTP有更清晰的認識。主函數中初始化單片機以及進行網絡配置的步驟 與前面章節相同,這里就不再贅述。主函數中重要的是調用ntpclient_init()和do_ntp_client()兩個函數。前者初始化NTP報文,后者完成與NTP服務器的交互過程。由于本程序只是實現從服務器獲取時間,并未涉及時鐘同步的問題,所以后面的字段都不需要用到,全部初始化為0, 為了簡化程序,NTP_Message中也僅僅包含flag中的內容。NTP服務器的IP地址在全局變量NTP_Server_IP中定義,NTP服務器的默認端口號是123。
NTP校時過程中的原理示意圖如下:(其中W5500為圖中LS_A端,NTP服務器(國家授時中心)為LS_B端。)
測試步驟
總結
以上是生活随笔為你收集整理的W5500EVB从网络上获取标准时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sql Server2005分离数据库
- 下一篇: 前端学习(1127):递归求数学题2