- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《通信软件设计》实验指导书
《通信软件设计》
实 验 指 导 书
通信工程系计算机通信教研室
200年月
前 言
Design of Communications Software)是通信工程专业一门重要的选修课。本课程技术性、实践性很强。
通信软件的开发平台和运行平台都是在某个操作系统之上,涉及到较多操作系统概念和技术。软件的设计基础是数据结构,这门课程也是操作系统、数据结构、程序设计语言等基础课程的综合运用。
通信技术的范围很大,就其软件的类型来说,也非常复杂繁多。实验和课堂学时有限,只能选择目前流行的IP和LINUX作为实验环境和目标,目的是使学生了解通信软件的设计过程和方法,了解通信软件的核心问题,而非学习每个通信技术种类的软件开发和运行情况,比如程控交换机软件、以太网络交换机软件、第三层交换机软件等等。
本实验选择LINUX作为基础操作系统,所以实验要从LINUX的结构/组成、开发入手,掌握基本的编辑、编译、运行方法;再深入进程间通信、内核构造;最后是协议实现。
目 录
言 I
目 录 II
实验要求 1
实验一 LINUX程序设计环境 2
1.实验目的 2
2.实验内容 2
3.实验步骤及调试环境 2
3.1调试环境 2
3.2实验步骤: 2
3.3程序样本: 3
3.3.1 c-h.c文件 3
3.3.2 makefile文件 3
实验二 利用LINUX的/dev/tty接口的通信程序设计 4
1.实验目的 4
2.实验内容 4
3.实验步骤及调试环境 4
3.1调试环境 4
3.2实验步骤: 4
3.3原理和程序样本: 5
3.3.1 串口简介 5
3.3.2 计算机串口的引脚说明 5
3.3.3 串口操作 5
3.3.4 打开串口 6
3.3.5 设置串口 6
3.3.6 需要注意: 10
3.3.7 读写串口 10
3.3.8 关闭串口 10
3.3.9 主程序例子 10
3.3.10 例子程序(样本1) 11
3.3.10.1 makfile文件 11
3.3.10.2 头文件 12
3.3.10.3 tty_comm_init.c文件(初始化子程序库) 12
3.3.10.4 tty_send_file.c文件(文件发送程序) 18
3.3.10.5 tty_recv_file.c文件(文件接收程序) 19
实验三 底层232通信程序 22
1.实验目的 22
2.实验内容 22
3.实验步骤及调试环境 22
3.1调试环境 22
3.2实验步骤: 22
3.3原理和程序样本: 23
3.3.1程序功能 23
3.3.2 核外进程进入内核原理 23
3.3.3 核内外的接口设备 24
3.3.4 设备文件操作表和文件操作程序 24
3.3.5 设备加载和注销形式 26
3.3.6 内核程序的特殊性 26
3.3.7 232串口的控制和数据读写寄存器 26
3.3.8 232串口中断服务程序 27
3.3.9 XON/XOFF协议程序 27
3.3.10 编写用户空间串口通信程序 28
3.3.11 例子程序(样本2) 28
3.3.11.1 makefile文件 28
3.3.11.2 头文件 28
3.3.11.3 rs232_comm.c文件 29
3.3.11.4 rs232_comm_send.c文件 30
3.3.11.5 rs232_comm_recv.c文件 32
3.3.11.6 rs232_comm_driver.c文件 34
实验四 状态机程序设计 48
1.实验目的 48
2.实验内容 48
3.实验步骤及调试环境 48
3.1调试环境 48
3.2实验步骤: 49
3.3简化的SDLC规程 49
3.3.1体系关系 49
3.3.2状态机设计 49
3.3.3帧结构 51
3.4系统结构与实验环境 52
3.4.1系统结构 52
3.4.2 任务设置 53
3.4.3测试数据和运行 54
3.5流程与数据结构 54
3.5.1数据流程与缓冲区/队列 54
3.5.2主要程序流程 55
3.5.2.1 S_open()流程 55
3.5.2.2 S_write()流程 55
3.5.2.3 S_close()流程 55
3.5.2.4 文件发送流程(File_Send) 55
3.5.2.5 R_read()流程 56
3.5.2.6 文件接收流程(File_Recv) 56
3.5.2.7 SDLC状态机处理流程(sdlc_state_process()) 56
3.5.2.8事件队列结构(SDLC_event_q,sdlc_data)和SDLC_read()流程 58
3.5.2.9 232接口中断处理流程(232_intr()) 59
3.5.
文档评论(0)