- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(实训)报告书
九江学院 信息科学与技术学院 《嵌入式应用开发》课程设计 报告书 题 目: 多路复用串口通信程序设计 专 业: 计算机应用技术 班 级: B1012 姓 名: 祝木贤 学 号: 17 同组人员:无 指导老师:袁斯昊 设计时间:2012年10月29日~2012年11月02日 目 录 1.实训计划 1 2.问题描述 1 3.问题分析 1 4.业务逻辑 2 5.程序模块设计 3 6.技术原理与分析 4 7.系统测试 5 8.心得体会 6 9.参考文献 7 3.问题分析 3.1 可行性分析 本系统主要目的是实现宿主机与目标机之间的近距离串行通信,采用的宿主机是Intel X86架构的Red Hat Linux 9环境PC机,而目标机是ARM架构的开发板MagicARM2410。 本系统中目标机开发板的内核采用的是三星的S3C2410,该开发板采用核心板加底板的模式.核心板接口采用DIMM200标准连接器.工作非常可靠,可稳定运行在203 MHz的时钟频率下。串口线采用常用的RS 232C型接口模式,能实现计算机与开发板间的数据传输与控制。 3.1 系统需求 本系统采用Linux的minicom来控制开发板,不使用WINDOWS的超级终端。这样才能实现Linux系统与开发板的数据传输和控制。 Minicom控制的开发板和Linux终端同时运行各自程序通过串口分别向PC端,目标板传送信息,如下图所示: PC端向开发板发送信息(图1) 通过Minicom控制开发板向宿主机发送信息(图2) 这样,我们就实现了两台机器之间的多路复用式串口操作,每台机器均可以发送和接收数据。 4.业务逻辑 此系统是实现两台机器,即PC端和开发板之间的串口通信。PC机和开发板同时运行程序,PC端监视标准输入上的数据,如果有数据则写入到串口,使目标板读取。同时监视串口设备上的输入,如果有则将数据写入到普通文件中。开发板和PC端一样,监视标准输入上的数据,如果有数据则写入到串口,使PC端读取。同时监视串口设备上的输入,如果有则将数据写入到普通文件中。 以下是图示: PC端业务流程(图3) 开发板端业务流程(图4) 5.程序模块设计 串口通信软件的设计是系统成功运行的关键。C语言在结构性、可读性、可维护性上有明显的优势.更利于程序移植和扩展。因此本系统采用C语言进行程序的编写。PC端和开发板采用相同的程序,因此两台机器的程序使用相同的流程图。 整个程序首先打开串口设备文件并进行相关配置。调用select()函数,使它等待从标准输入(终端)文件中的输入以及从串口设备的输入。如果有标准输入上的数据,则写入到串口,使对方读取。如果有串口设备上的输入,则将数据写入到普通文件中。程序的流程图如下: 6.技术原理与分析 总的来说,I/O处理的模型有5种。 阻塞I/O模型:在这种模型下,若所调用的I/O函数没有完成相关的功能,则会使进程挂起,直到相关数据到达才会返回。如常见对管道设备、终端设备和网络设备进行读写时经常会出现这种情况。 非阻塞模型:在这种模型下,当请求的I/O操作不能完成时,则不让进程睡眠,而且立即返回。非阻塞I/O使用户可以调用不会阻塞的I/O操作,如open()、write()和read()。如果该操作不能完成,则会立即返回出错(例如:打不开文件)或者返回0(例如:在缓冲区中没有数据可以读取或者没空间可以写入数据)。 I/O多路转接模型:在这种模型下,如果请求的I/O操作阻塞,且它不是真正阻塞I/O,而是让其中的一个函数等待,在这期间,I/O还能进行其他操作。如本小节要介绍的select()和poll函数(),就是属于这种模型。 信号驱动I/O模型:在这种模型下,进程要定义一个信号处理程序,系统可以自动捕获特定信号的到来,从而启动I/O。这是由内核通知用户何时可以启动一个I/O操作决定的。 它是非阻塞的。当有就绪的数据时,内核就向该进程发送SIGIO信号。 无论我们如何处理SIGIO信号,这种模型的好处是当等待数据到达时,可以不阻塞。主程序继续执行,只有收到SIGIO信号时才去处理数据即可。 异步I/O模型:在这种模型下,进程先让内核启动I/O操作,并在
您可能关注的文档
最近下载
- 静脉输液安全隐患及防范措施.pptx VIP
- 专题27.4 相似三角形的性质【十大题型】-2024-2025学年九年级数学下册举一反三系列(人教版).pdf VIP
- 体育教育个人职业生涯规划书.docx VIP
- 梁模板碗扣钢管高支撑架计算600.doc VIP
- 黄磷尾气在循环流化床锅炉中的掺烧使用介绍.PDF VIP
- 碗扣钢管楼板模板支架计算书97027.doc VIP
- Boss Roland逻兰ME-90B 贝斯综合效果器[Simplified Chinese] ME-90B Reference Manual 说明书用户手册.pdf
- 玩转手机银行APP.doc VIP
- 征信报告模板详细版带水印可编辑2025年9月新版.pdf VIP
- 征信电子版PDF个人信用报告简版2024年12月必威体育精装版版可编辑带水印模板.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)