- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《接口与通信》课程设计报告
题目:1. 两机通信
学 院_____计算机___________
专 业____科学与技术________
年级班别_____04级4班_________
学 号 3103000520
学生姓名_____彭慧忠___________
指导教师______汤荣江__________
成 绩
2007 年 1 月
设计题目
双机通信。
设计目的
了解PC机串行口的使用。
设计设备
两台普通PC机,9孔RS-232C连线。
设计任务
用RS-232的零MODEM的连接法连好两机的连线;
用DOS的MODE命令设置好两机的通讯格式,两机的通讯格式必须一致。
用DEBUG的0命令将一数发送到串行口(2F8H-3F8H),然后在另一台机上用I命令读入串行口的内容。如果发送的内容与接收的内容一致,说明两机已连好线,否则必须检查连线,直到两机可通讯为止;
编一程序,将一台机的键盘输入的键值通过RS-232C口送到另一台机,并在CRT上显示键值;
编一程序,通过RS-232C口进行一台机到另一台机的文件复制。
设计分析
(一)实施方案
要实现两机的串行通信,可以有一下三种方法:一是使用VC++提供的串行通信控件MSComm;二是在dos/win95/win98用C语言去直接对端口操作;三是多线程下调用WIN32 API函数实现串行通信。
从win2000操作系统开始,微软为了照顾好计算机上的硬件,开始实施了对硬件的保护策略,也就是说任何用户在他的操作系统下企图操纵串口时必须经过他的同意方可进行。然而,你可以使用API函数操作串口,就是说,你想怎样操作串口就用相应的API函数告诉操作系统你想对串口干什么,然后操作系统就把你的意思转告给串口让其做出相应的动作。
在这里,我使用了第三种方法,用WIN32 API函数实现对端口的串行通信的。首先,我先简单介绍几个使用到的API函数。
1、CreateFile()
用途:打开串口
操作说明:若文件打开成功,串口即可使用了,该函数返回串口的句柄,以后对串口操作时即可使用该句柄。
2、CloseHandle()
用途:关闭串口
操作说明:成功关闭串口时返回true,否则返回false。
3、GetCommState()
用途:取得串口当前状态
4、SetCommState()
用途:设置串口状态,包括常用的更改串口号、波特率、奇偶校验方式、数据位数等。
操作举例:DCB ComDCB;
GetCommState(hComm,ComDCB);//取得当前串口状态
ComDCB.BaudRate=9600; //更改为9600bps,该值即为你要修改后的波特率
SetCommState(hComm,ComDCB;//将更改后的参数写入串口
5、WriteFile()
用途:向串口写数据
操作举例:WriteFile(h_Comm, //调用成功返回非零,失败返回零
Buffer, //输出缓冲区
length, //准备发送的字符长度
LengthWrited, //实际发出的字符数
lpOverlappedWrite)) //重叠结构)
6、ReadFile()
用途:读串口数据
操作举例:ReadFile(m_hComm, //串口句柄
m_ReceiveBuf, //输入缓冲区地址
1024, //想读入的字符数
BytesRead, //实际读出的字节数的变量指针
lpOverlappedRead) //重叠结构指针
7、PurgeComm()
用途:清除串口缓冲区
8、SetCommMask()
用途:设置串口通信事件。
9、WaitCommEvent()
用途:用来判断用SetCommMask()函数设置的串口通信事件是否已发生。
以上简要介绍了部分的串口通信经常使用到的API函数,我所写的串口通信软件用的是事件通知方式,该方式是windows2000下效率较
您可能关注的文档
最近下载
- 滤油器体的工艺规程及夹具设计.doc VIP
- 2025年3月22日山东事业单位统考《行测》真题(含答案).pdf VIP
- 2025-2026学年人教版(2024)小学体育与健康二年级全一册教学计划及进度表(第一学期).docx
- 建设单位安全管理体系如何建立.docx VIP
- 苯妥英钠的合成.pdf VIP
- 中国糖尿病肾脏病基层管理指南解读PPT课件.pptx VIP
- 陕西省专业技术人员继续教育答案《党的二十届三中全会精神解读与高质量发展》(1).pdf VIP
- 2024年全国中考数学考试大纲 .pdf VIP
- 聚乙酸乙烯酯乳液(粘胶剂)-安全技术说明书MSDS.pdf
- 体外膜肺氧合ECMO讲解.pptx VIP
文档评论(0)