你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F407通过机智云获取NTP网络时间

[复制链接]
STMCU小助手 发布时间:2022-5-15 17:11
1、什么是NTP/ x) c+ N) O7 B  l1 x( |: |
NTP 是网络时间协议(Network Time Protocol),他用来同步网络中各个计算机时间的协议。在机智云串口协议中,支持获取 NTP 网络同步时间的功能。
: o3 l0 d1 P; j2 p
6 ^. E; F% e- K2 m, F& J3 n2、查找gizwitsGetNTP函数$ P+ C) _1 l; {! R0 x/ z3 q
NTP 网络时间请求 API 函数位置在 gizwits_protocol.c 文件中,如图所示:
2 n9 k; G, e+ a$ ^2 Y# y/ l5 G- T( N, K) l
WSSEK3%]_2P(03RL$I_Y8[9.png 5 s6 X0 t- e, \3 q, I) L# ~
! D. [' z3 z# F# Y6 q3 ]2 F/ T* s
3、代码修改
. u7 y) n9 l. a* ~) U
我们直接拷贝《第四步》移植协议时创建的点亮LED的代码工程,在这基础上进行修改即可。6 A" Z" X! x: j; O8 G

" b( G% C" m& I$ K" y% E当模组在成功接入网络后,它会返回 wifi 状态事件,我们利用 wifi 状态事件去启动 NTP网络时间的请求,获取具体事件位置在 gizwits_procuct.c 文件 gizwitsEventProcess()函数,如下图所示:4 o# Q6 G: E% c* ?& q& l6 n0 n
$ C( W# l# z( a) ~' m9 J
P50{3YFJHRZM~4$DNONU0OH.png 0 n& o/ Y( M" X+ w
$ N* k& l3 c- v  U
首先在 main.c文件中,定义一个 wifi_sta 变量,用来记录 wifi 连接状态,当模组连上机智云的服务器时,会返回WIFI_CON_M2M 的事件,断开时返回WIFI_DISCON_M2M,所以我们就在这两个地方添加标志位并且要引入外部变量,否则会报错,如下图所示:
0 _7 F% }' ]+ y% w/ e! x6 M
+ w/ N2 q9 ?. A }PY}GICV71T%NJ]2KXY6KRJ.png
) {2 q% P- U& W2 t: {% h) P. d( C& l8 Z- {
连接成功后,wifi_sta变量标志就会为1,接着我们就要在userHandle 函数内数据采集逻辑(我的userHandle 函数保留在main.c内),代码如下:2 v# x3 n, l5 C3 N* w
1 |1 w  [3 \; a8 _
ZPBB$KADFND3$(KHC5_DWMC.png
! v! F. R. I. W! ?/ k, K7 s. t
: ~& b3 R7 N, \% m$ J( k% b验证结果如图
/ C6 a" v  A# w* \8 Y( ]  u1 D L}HTEO3)AZ9W9]UG}T%X)[G.png # j4 c+ j/ ]" X. a4 T$ F4 @( c& e" m8 O
" s! m1 N/ |/ ]
( b: h# l5 l! F9 t# c+ e; ~2 X1 w

/ ~" X- \* L- O
4 M+ ^: d( R* f  ]5 I) \/ R: w
收藏 评论0 发布时间:2022-5-15 17:11

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版