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。
- 连接好网线,USB串口线。打开串口调试工具,复位W5500EVB,从输出结果可以得到图1设置信息。
- 可以看到同步NTP服务器时间,在观察自己电脑的时间,基本没有误差。
W5500EVB从网络上获取标准时间相关推荐
- Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式
从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现.1.采用thread去获取图片,获取到后通 ...
- 使用 Coinbase 在 Polygon 网络上获取 MATIC
文章目录 第 1 步:在 Coinbase 上购买 MATIC 并将其发送到 MetaMask 第 2 步:将 MATIC 桥接到 Polygon 主网 3. 费用是多少? 如何从 Coinbase ...
- Android从网络上获取图片的两种方式
1,获得图片的bitmap格式 参见以前写的,这种方式是使用Url连接,位图工厂直接从连接解析 package cn.com.hh.http;import java.io.IOException; i ...
- OKhttp+Gson实现从网络上获取最新新闻
直接上效果图,画面太美,请保护好自己的小心脏.能画出这么漂亮的UI我都佩服我寄几. 新闻列表: 新闻详情: 是的 都是最新的新闻.. 实现 下面我们就来看看具体怎么实现的: 我一直觉得思路是非常重要的 ...
- 从网络上获取一张图片简单的
告诉ScrollView缩放的视图,要设置scrollView的代理. 转载于:https://www.cnblogs.com/x1024598115/p/4182674.html
- ios通过URL地址,从网络上获取图片
-(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; N ...
- Fragment 与 Viewpager 联合使用在网络上获取图片
-------------------------Viewpager布局---------------------------------------------------------------- ...
- Android程序如何实现从网络中获取一张图片
在学习黎活明的Android视频的时候,有一讲是说怎么从网络中获取图片.这里,我就做一个笔记和总结吧. 首先,我们要知道图片这种文件,不能以我们印象中那些基本数据类型来定义或是以这些类型从网络中获取图 ...
- html实时获取树莓派温湿度,在树莓派上获取美国天气预报
大家似乎都很关注天气预报,当然啦,获取准确的天气预报对你的出行计划和其他一些活动来说非常的有用.天气预报信息可以在很多地方获取到,例如网页,大多数的智能手机或是平板电脑.现在你也可以在树莓派上通过&q ...
- (原创)使用AsyncTask(带修改线程池方式)+自定义ImageLoader+LRU算法对图片三级缓存及其显示优化(只有在ListView滑动停止的时候才去网络请求获取图片数据)
前言: 以前看了些关于图片优化处理缓存比较全的视频(感谢慕风网),现在回顾觉得还是挺好的也就总结出来下,感觉针对图片做处理这块还真的用的比较多,本文章只要使用异步线程AsyncTask.自定义的Ima ...
最新文章
- node.js初步认识
- 最全Pycharm教程
- php同时抢购 代码,浅谈PHP实现大流量下抢购方案
- 数据结构与算法——选择排序
- SQLite的基本用法
- 堆排序工具类(适用于top k问题,java泛型实现)
- 爬虫学习2----Pyquery
- JAVA 8 :从永久区(PermGen)到元空间(Metaspace)
- 【Android自学日记】【转】Android Fragment 真正的完全解析(上)
- 数据结构课程设计-(三)哈夫曼编码器
- 机器学习笔记 - 什么是图神经网络?
- 【LeetCode】跳步系列
- mui实现分享功能_Hbuilder 云端打包app微信分享功能源码示例
- What is a Digital Signature?
- windows 重新启动 postgresq
- [杂谈]系统盘安装在其他电脑上能正常启动吗?
- UBports使用Anbox玩耍安卓APPs
- 2020年Java框架排行榜,谁居榜首?
- FPGA-04 触摸按键控制LED灯
- 基于STM32的CAN总线通信学习笔记
热门文章
- 如何用VsCode进行Debug
- linux simhei 字体下载,Linux CentOS 7 安装 字体库文件(simsun.ttf、simheittf.ttf)
- ad18的一个bug,修改不了封装
- mcgs组态连接oracle数据库,昆仑通态专题(九):MCGS组态软件的实时数据库
- wincc版本升级_wincc组态软件下载
- 资料分析——基础知识
- java简单代码练习
- js ws 状态_使用ws
- 在 Windows 10 上用超级终端配置 Cisco 3560 Series 交换机并创建 VLAN
- 软件使用,Microsoft Visual C++运行库合集包