|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CC3200AI实验教程 ——疯壳·开发板系列 WIFI-UDP网络通信 ( ^; v1 j/ E6 B, Z2 t: D/ N
9 T! q; L; k2 k$ |! T2 \$ z8 ]
4 \6 B/ e- t- a9 [- _; J! J0 A" C, S! _
UDP是User Datagram Protocol的简称, 中文名是用户数据报协议。在网络中它与TCP协议一样用于处理数据包,与TCP不一样的是,UDP是一种无连接的协议,UDP只能是尽可能地传输到目的地,所以UDP也是具有一定的不可靠性。
: M4 M" I- a1 v5 X" R3 [- S 那么为什么还会存在UDP呢?因为在早期的网络开发中,人们发现一些简单的网络通信不需要经过TCP复杂的建立关系,而且过多的建立TCP连接,会造成很大的网络负担,而UDP协议可以相对快速的处理这些简单通信。如表1.0.1所示为UDP组成结构。3 n$ }. Q% u; N) x
表1.0.1 UDP的组成结构7 T2 O' ]& `* `/ I/ @% a
$ J, p1 w& m M+ s6 t6 ^
1 [* e9 X* h7 |/ U6 j( E; z表1+ S# M, y. u% ~" j7 I
CC3200支持多种基于WIFI的网络通信,UDP也不例外。
/ _0 S. m- ^. d& ~2 X. A; l 打开Udp_Socket_Demo,如图1.0.1所示为main函数。0 i) M5 u Y* M. q; s# a
# s6 f! x0 Q4 {. w
; K% H9 h& _$ t9 E% d. Z图1.0.1 main函数
7 J& Z! Q6 m+ K5 b4 r% n" j) [ 在main函数中有InitializeAppVariables该函数主要实现的是把宏定义中的UDP服务器的IP以及端口号取出,进入建立udp的就绪状态。: ]3 ]! r- x8 X0 D9 K$ F3 J
ConfigureSimpleLinkToDefaultState()函数主要是实现CC3200的接入网络部分:把CC3200设置为STA模式;并且把CC3200接入在common.h中定义好的路由器,如图1.0.2所示,为common.h中定义好的路由器SSID、秘钥以及加密方式等。% T# p, Y$ C) q
5 i( ~ j4 [6 G) }# }( a; V7 ]1 P1 [8 Q- Y- ~7 B
图1.0.2 路由器相关信息: C6 ~- y1 G! e( x3 b1 y0 n
最重要的函数是如图1.0.2所示的BsdUdpClient(),通过该函数建立UDP。' x3 \ d6 w! U
6 ]. G* |2 x0 D4 s
D k. T+ Q; N Z7 d图1.0.3 BsdUdpClient()函数
7 b5 \. _1 Y0 c$ o- U 该函数会先通过函数sl_SendTo()向网络中发送疯壳的官网,然后通过函数sl_RecvFrom()进入等待接收。3 d7 E$ p8 \2 [/ \' r2 [: s0 M. g
打开网络调试助手,然后点击打开设置协议类型为“UDP”,点击打开。把网络调试助手的“本地主机地址”和“本地主机端口”,填写到程序中定义IP以及端口号处,如图1.0.3所示(注意IP要为16进制);如图1.0.4所示,为网络调试助手打开时的画面。
5 e8 j) `& m. U) d% f' W
, Q4 ?4 p6 M$ t9 G5 q$ k1 }
: ~, h4 }4 E! N" g图1.0.4 本地IP及端口号8 N( G: _/ ~5 c3 F. k6 T7 C
3 ^: T( U& ~+ ?9 e7 R: @! H
; Z& w" D, n7 f, u3 G1 q# `4 D图1.0.5 网络调试助手打开" W6 \" p. H2 _/ q' @
编译代码,打开UniFlash,下载bin文件到板子上(下载方法参考GPIO小节)。4 ^1 o% j& X7 Q& R1 X/ `- e0 o8 {& V
下载完成后,打开UARTA0的“RXD”,以及“CH340G_VCC”即拨码开关拨到“ON”。) [7 G# W, A5 z& \$ `
打开串口调试助手,选择相应的串口号,并且把波特率设置为115200bps,点击打开。按下板子上的复位键可看到串口助手打印如图1.0.5所示的信息。可见CC3200已经连接上了指定的路由器以及通过UDP发送了一段消息,如图1.0.6所示。
; |" S: c1 @1 M2 [8 F: B
: ]$ P+ ]1 s( a% m
* M3 S' Y h2 r# E
图1.0.6 串口助手打印信息
% z9 L# i0 @5 r2 y' v: P 此刻网络调试助手也收到CC3200发来的信息,并自动获取到了IP等信息,如图1.0.6所示。
$ \0 _. A+ n2 h; X+ Q1 R# q4 l& K4 J! h
$ ^3 C7 o0 g5 O8 X+ a
图1.0.7网络调试助手收到信息
j9 j; u- S* Z9 \& P2 X
6 a3 ~4 G! Z. a: n. T: g 在网络调试助手中输入一串信息,点击发送,如图1.0.7所示,此刻,串口调试助手也把CC3200收到的信息打印出来,并且发送新的一串信息,如图1.0.8所示。2 d5 V2 p. m, c+ M7 g4 X) g
2 _ v" O% y0 H; M$ J* Q+ T' H
; w! m' H. h& P+ J+ M m. B& J1 o6 e
图1.0.8 网络调试助手发送信息. C# c6 R0 T1 F6 H& c; \6 {
3 u: ?: w' ]$ H+ |/ o
) Q4 b8 A/ Z6 l5 Z2 c. n( D0 {
图1.0.9 串口调试助手收到信息
7 D' X9 f( ]$ X' |% b* U. |/ Y' c' R9 I" G! S: |
0 w: }8 |( {$ r3 C- P. k; c& j% j3 O6 k; c
3 h! k( ?4 ~, [
* b- C0 Z/ f3 B# g" E2 X2 f
% B9 C8 z! G1 O& z: ~9 D文件下载请点击:
【7】WiFi-UDP网络通信.pdf
(694 KB, 下载次数: 0)
7 C& |9 ]( C) h- g( { K% T5 x7 ?2 P
|
|