- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
物理与电子工程学院
《嵌入式系统设计》设计性试验报告
题目 UDP通讯试验
系别 物电学院电子信息工程
年级2023 专业 电子信息工程班级 Y091 学号 学生姓名 吴晓婷指导教师 浦炜
试验时间 2023/10/9
物理与电子工程学院设计试验报告
3
目 录
\l“_TOC_250006“课题要求 2
本课题的目的 2
\l“_TOC_250005“运行环境 2
\l“_TOC_250004“正文 2
\l“_TOC_250003“一.课题分析 2
\l“_TOC_250002“二.系统设计 3
\l“_TOC_250001“三.技术实现问题 6
\l“_TOC_250000“四.总结与体会 7
设计性试验报告成绩: 指导教师签名: 7
本课题的目的
课题要求
学习UDP通讯原理并把握Socket编程方法。
编程实现嵌入式开发平台和计算机之间的UDP通讯。通过触摸屏进展画图,使其在液晶屏上显示,同时通过网络传输数据,使其在计算机屏幕上显示;由计算机掌握去除液晶屏上的图形。
在此根底上,通过小键盘掌握在触摸屏上绘制的图形,如按键后掌握绘矩形或圆形等,通过双击清屏等功能。
运行环境
硬件:ARM嵌入式开发板、ARM7TDMI的JTAG仿真器、PC机Pentium100以上。
软件:PC机操作系统win98、Win2023或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序
正文
一.课题分析
UDP协议简介
UDP协议即用户数据报协议〔UserDatagramProtocol〕,它与我们所熟知的TCP〔传输掌握协议〕协议一样,UDP协议直接位于IP〔网际协议〕协议的顶层。依据OSI〔开放系统互连〕参考模型,UDP和TCP都属于传输层协议。
UDP协议的主要作用是将网络数据流压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。UDP报头由4个域组成,其中每个域各占用2个字节。
UDP协议使用端口号为不同的应用保存其各自的数据传输通道。UDP协议正是承受这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方〔可以是客户端或效劳器端〕将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。由于UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。
SOCKET简介
Socket通常也称作“套接字“,应用程序通常通过“套接字“向网络发出恳求或者应答网络恳求。Socket接口是TCP/IP网络的API,Socket接口定义了很多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。
Socket接口设计者最先是将接口放在Unix操作系统里面的。假设了解Unix系统的输入和输出,就很简洁了解Socket了。网络的Socket数据传输是一种特别的I/O,Socket也是一种文件描述符。Socket也具有一个类似于翻开文件的函数调用Socket,该函数返回一个整型的Socket描述符,随后连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket
〔SOCK_STREAM〕和数据报式Socket〔SOCK_DGRAM〕。流式是一种面对连接的Socket,针对于面对连接的TCP效劳应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP效劳应用。
二.系统设计
在D盘或E盘建自己的文件夹,将“Exp20UDP通讯试验”文件夹复制进自己的文件夹。翻开ADS1.2集成开发环境,在里面翻开UDP试验工程文件。
在main.c文件中编辑初始化网络函数。
externU8isConfigsysLoad;externU8sysCONFIG[];externU32ConfigSysdata[];
voidInitNetWork //初始化网络
{
U32ipaddr32,ipmaskaddr32,ipgateaddr32;U8Mac[6];
Uart_Printf(“begininitEthernetandUDP...\n“);
if(isConfigsysLoad){ //con
文档评论(0)