|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CC3200AI实验教程 ——疯壳·开发板系列 WIFI-UDP网络通信
3 c {5 _0 @- C3 n- Y
/ q! l3 {, H. ^' P& Q7 j: n$ [( G* z) ~
& ~" ^) Q: ]4 n; k3 r UDP是User Datagram Protocol的简称, 中文名是用户数据报协议。在网络中它与TCP协议一样用于处理数据包,与TCP不一样的是,UDP是一种无连接的协议,UDP只能是尽可能地传输到目的地,所以UDP也是具有一定的不可靠性。" c# u$ C2 S6 z( I- i
那么为什么还会存在UDP呢?因为在早期的网络开发中,人们发现一些简单的网络通信不需要经过TCP复杂的建立关系,而且过多的建立TCP连接,会造成很大的网络负担,而UDP协议可以相对快速的处理这些简单通信。如表1.0.1所示为UDP组成结构。
2 |9 O8 h: ^5 j a; L7 f表1.0.1 UDP的组成结构! j7 j) T( M+ U: a
3 d ]$ s- Q! P" L/ r
7 C" I: h: y- P4 |" P, U0 M# K
表1& ], d1 O& F2 d4 {5 U! Y
CC3200支持多种基于WIFI的网络通信,UDP也不例外。
" ?2 j' ^9 _/ f 打开Udp_Socket_Demo,如图1.0.1所示为main函数。
5 j, K& ~" |) z, x9 z& b9 ]; ]' z; c2 S' c- Z* M4 O
& @8 m% a; n+ H% ~1 |
图1.0.1 main函数' c+ M& x: _2 I9 y' V
在main函数中有InitializeAppVariables该函数主要实现的是把宏定义中的UDP服务器的IP以及端口号取出,进入建立udp的就绪状态。# ?# G, @/ h- h% Y( a1 N/ p& W& ~
ConfigureSimpleLinkToDefaultState()函数主要是实现CC3200的接入网络部分:把CC3200设置为STA模式;并且把CC3200接入在common.h中定义好的路由器,如图1.0.2所示,为common.h中定义好的路由器SSID、秘钥以及加密方式等。' |5 _' v; O Y p. R+ @' Q
& c& n9 D' @4 J6 a+ O3 n# y
4 `" j; X0 F! p% ]" n图1.0.2 路由器相关信息
g4 q: P0 q# d+ N& Y 最重要的函数是如图1.0.2所示的BsdUdpClient(),通过该函数建立UDP。. H2 F4 |1 W0 c6 f" s0 u- j
) N6 S; R6 j) s6 g8 E
5 B1 U/ o a- O( W$ b图1.0.3 BsdUdpClient()函数
6 i' x* a4 A( O 该函数会先通过函数sl_SendTo()向网络中发送疯壳的官网,然后通过函数sl_RecvFrom()进入等待接收。
9 g) z% W' ?, s! M 打开网络调试助手,然后点击打开设置协议类型为“UDP”,点击打开。把网络调试助手的“本地主机地址”和“本地主机端口”,填写到程序中定义IP以及端口号处,如图1.0.3所示(注意IP要为16进制);如图1.0.4所示,为网络调试助手打开时的画面。
. h* D, H7 b2 y4 i8 w) V( n* t) ?" J( G( q- `
9 D% W+ G. A7 u, {- {6 Y- j
图1.0.4 本地IP及端口号
; r# m; |4 c% ?1 w, y- \/ m" h* o: D
4 k; x# Y/ J# b& P# q G1 F9 G图1.0.5 网络调试助手打开
( K: O9 t4 [; g) n 编译代码,打开UniFlash,下载bin文件到板子上(下载方法参考GPIO小节)。
- \+ n& { x/ z0 a% ?' U& k, l. U h, w 下载完成后,打开UARTA0的“RXD”,以及“CH340G_VCC”即拨码开关拨到“ON”。
5 O" v3 r) M( p# F3 c! n 打开串口调试助手,选择相应的串口号,并且把波特率设置为115200bps,点击打开。按下板子上的复位键可看到串口助手打印如图1.0.5所示的信息。可见CC3200已经连接上了指定的路由器以及通过UDP发送了一段消息,如图1.0.6所示。" [5 [7 S& n: _. r' J
w6 e9 e4 m* z5 Y7 Y- X
* o( s6 s' E2 W图1.0.6 串口助手打印信息
5 Y4 g$ K5 P/ \% e9 `- c 此刻网络调试助手也收到CC3200发来的信息,并自动获取到了IP等信息,如图1.0.6所示。# ?! s7 c: [! J5 t
9 B( g+ g; H8 p7 L
& \+ T) G' R8 h! x% V: i* {+ _图1.0.7网络调试助手收到信息
y, w7 d* A9 F3 K4 m4 A1 @7 i; M" `5 h$ x, i
在网络调试助手中输入一串信息,点击发送,如图1.0.7所示,此刻,串口调试助手也把CC3200收到的信息打印出来,并且发送新的一串信息,如图1.0.8所示。: W& _0 T2 D6 V& Y
' E; o; O# r7 ~7 R( H% N2 I3 W" G
& K8 U, ]6 p6 `图1.0.8 网络调试助手发送信息& B8 D; _- S; G5 m
, m: j/ e2 F: M) M- a! K
$ l* d, N8 u3 V ?, N" O* \
图1.0.9 串口调试助手收到信息, O6 g- g ^8 F: W6 g
2 K- O, F7 w8 l7 {' q
0 f' X- o' ~8 ~ G8 _
6 r0 e3 v. q4 P5 ~: j# ^% Y- K
# c; m( f: ]9 w9 L: K- C
% G7 g6 ^+ }; h, }3 L2 U% W0 M/ U" _" t% L, Q
文件下载请点击:
【7】WiFi-UDP网络通信.pdf
(694 KB, 下载次数: 0)
& T4 T' d* s4 I4 k9 r
/ ~- I {: ~; ]( ]; g
|
|