|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CC3200AI实验教程 ——疯壳·开发板系列 WIFI-UDP网络通信
$ D; R! O) f# L" i3 G; J5 i& b Y0 T* \9 [% `. P/ s$ F
$ ]2 r# ?/ k9 f1 W& b
5 Z& n5 i. m* | UDP是User Datagram Protocol的简称, 中文名是用户数据报协议。在网络中它与TCP协议一样用于处理数据包,与TCP不一样的是,UDP是一种无连接的协议,UDP只能是尽可能地传输到目的地,所以UDP也是具有一定的不可靠性。
# Q+ _% T1 L4 B/ t$ ?$ @ 那么为什么还会存在UDP呢?因为在早期的网络开发中,人们发现一些简单的网络通信不需要经过TCP复杂的建立关系,而且过多的建立TCP连接,会造成很大的网络负担,而UDP协议可以相对快速的处理这些简单通信。如表1.0.1所示为UDP组成结构。) ]% C& f; r" |9 @8 l1 O$ C: a
表1.0.1 UDP的组成结构: ]' E' \3 i1 q R/ u
: F" c: [( _. @
. `9 Q5 l! |# W! q- D; |表1
' L, z& n* [; g' Z% h CC3200支持多种基于WIFI的网络通信,UDP也不例外。* J6 q7 \1 w0 G3 w' T) I
打开Udp_Socket_Demo,如图1.0.1所示为main函数。
. E% ^6 T: l7 {! V' @0 d) t s& F3 S! Q7 I" Z
- C. V. C/ F1 Q# i
图1.0.1 main函数
. l! D1 e) Y. {. ^- F- c 在main函数中有InitializeAppVariables该函数主要实现的是把宏定义中的UDP服务器的IP以及端口号取出,进入建立udp的就绪状态。
+ z; @' ]% u. S0 N1 k6 L8 p ConfigureSimpleLinkToDefaultState()函数主要是实现CC3200的接入网络部分:把CC3200设置为STA模式;并且把CC3200接入在common.h中定义好的路由器,如图1.0.2所示,为common.h中定义好的路由器SSID、秘钥以及加密方式等。: b$ b3 g) a b! `
. s1 ^: K( C! ~2 a3 \
]6 K3 X5 s4 v' x, f* n$ Y. j7 I图1.0.2 路由器相关信息
8 B) \# C8 p" Y1 `) u$ g8 S) I 最重要的函数是如图1.0.2所示的BsdUdpClient(),通过该函数建立UDP。
, E: J8 J3 c! _" z. L. X0 _$ M
' M+ t) r3 n0 j* W# d
$ A5 u- c1 _' J ] j图1.0.3 BsdUdpClient()函数
8 n/ v/ L, ~! W8 f- n 该函数会先通过函数sl_SendTo()向网络中发送疯壳的官网,然后通过函数sl_RecvFrom()进入等待接收。5 v1 D1 I- [4 @1 ]; V, }
打开网络调试助手,然后点击打开设置协议类型为“UDP”,点击打开。把网络调试助手的“本地主机地址”和“本地主机端口”,填写到程序中定义IP以及端口号处,如图1.0.3所示(注意IP要为16进制);如图1.0.4所示,为网络调试助手打开时的画面。
: [- F& S+ x, h4 U# n* o0 n: H* m1 G# A
9 T1 X* s3 X' \3 A7 o
: D! f0 s& J: a7 e9 Z5 e图1.0.4 本地IP及端口号
. V9 T" H7 s3 S" ~% E2 E3 r; z' _" Z$ q; N) V% Z, N, c
" t% t, ]; n% B1 i. B) E图1.0.5 网络调试助手打开( x) E m* F$ J5 r' t
编译代码,打开UniFlash,下载bin文件到板子上(下载方法参考GPIO小节)。2 b' c# T1 t C, v; U- m* T! n
下载完成后,打开UARTA0的“RXD”,以及“CH340G_VCC”即拨码开关拨到“ON”。
* R: Z$ P7 ? C! y4 U+ w4 ~+ W9 @ 打开串口调试助手,选择相应的串口号,并且把波特率设置为115200bps,点击打开。按下板子上的复位键可看到串口助手打印如图1.0.5所示的信息。可见CC3200已经连接上了指定的路由器以及通过UDP发送了一段消息,如图1.0.6所示。
. u- g. Q$ C+ e- i! ]9 Y- N/ j2 T9 F8 I4 B& A
* Q4 \4 v$ O6 i1 X
图1.0.6 串口助手打印信息6 K# c$ n& p; ^2 P& {" l
此刻网络调试助手也收到CC3200发来的信息,并自动获取到了IP等信息,如图1.0.6所示。
3 }+ n7 X* \. T" T8 @) p6 Z/ C+ T2 ~- \& g: X
/ V* `0 T' }; e0 s图1.0.7网络调试助手收到信息7 P8 K" N# p7 T3 h
" v7 x# ?* y' ~) g* t/ C* w1 `7 b/ e8 ? 在网络调试助手中输入一串信息,点击发送,如图1.0.7所示,此刻,串口调试助手也把CC3200收到的信息打印出来,并且发送新的一串信息,如图1.0.8所示。" X) @1 m( S8 v# O8 t' V; T0 v! x
% S8 j7 {" ]' i- M9 R7 I
6 T$ |' s4 W0 `8 |7 w图1.0.8 网络调试助手发送信息; I. x. |" ^2 T
, R8 o9 k) [* L) u
; K: u& a1 t2 q0 ^8 g
图1.0.9 串口调试助手收到信息
6 c: @' W% O/ \$ O9 ~6 \8 V8 s% @2 u) ^5 [
3 l8 ^' ]- b$ p$ D; g9 ~) ?
/ R) z! m2 _3 g* s6 N" i) S
% `1 u0 M! m+ [7 u
1 o* d- \ u" N4 \! O" ^
# ~' G& o, M% I* B- X9 K- E* Q
文件下载请点击:
【7】WiFi-UDP网络通信.pdf
(694 KB, 下载次数: 0)
( ~/ U# \- O6 Y7 W/ i6 n$ T7 N! b- R4 J( z, N4 W6 l" |/ e- \
|
|