- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows环境下的串行数据通信程序设计论文.doc
Windows环境下的串行数据通信程序设计论文
.freel/目录下)是1992年Crescent soft来实现的,它也包括检测和处理通信错误等方面的问题。以下是MSM详细的错误和事件列表(读者可参阅SKD或MSC/C++ 7.0等中的SM.VBX中提供了27个关于通信控件方面的属性,以下列出最重要的几个:
mPort设置和返回通信口的数目
Settings设置和返回以字符串形式给出的数据通信格式:波特率,校验,数据位和停止位
PortOpen设置和返回通信口的状态(包括打开和关闭一个通信口)
Input读串行数据接收缓冲器
Output发送一个串
在MSM.VBX中,有两个与Input和Output性质相等同的函数;
(1) 输入函数,从串行通信接收缓冲器中读取字符串,句型如下:
lnput(By Val hSM-ER_BREAK插入处理BREAK代码
Case MSM-ER_CDTO插入处理CD(RLSD)超时代码
Case MSM-ER_CTSTO插入处理CTS超时代码
Case MSM-ER_DSRTO插入处理DSR超时代码
Case MSM-ER_FRAME插入处理帧错误代码
Case MSM-ER_OVERRUN插入处理数据丢失代码
Case MSM-ER_RXOVER插入处理接收缓冲器溢出代码
Case MSM-ER_RXPARITY插入处理校验错误代码
Case MSM-ER_TXFULL插入处理发送缓冲器满代码
事件部分
Case MSM-EV_CD插入处理CD信号改变代码
Case MSM-EV_CTS插入处理CTS信号改变代码
Case MSM-EV_DSR插入处理DST信号改变代码
Case MSM-EV_EOF插入处理收到一个文本文件结束字(26)代码
Case MSM-EV_RING插入处理检测到一个振铃信号代码
Case MSM-EV_RECEIVE插入接收到设定的字符数时产生该事件代码
Case MSM-EV_SEND插入处理发生缓冲器中的字符数低于设定的数值时产生该
事件的代码End Select
End Sub
(2) 查询方式
查询方式,就是每个命令(含数据块)都要查询等待对它的回答。详细使用方法请见下文的实例叙述。
三、一个完整例子
该程序的设计背景是全军医药信息网上电话拨号用户前台软件中的自动拨号部分,为节省篇幅和说明问题,这里进行了重新编辑,但其本身是完整的。该程序帮助主人进行电话拨号以呼通被叫。
调试环境:LEO 486/50,HiTec MODEM,院内电话脉冲拨号,使用串行口1,PSM.VBX通信控件。
------------
Visual Basic 3.0 MSM.VBX程序设计:使用MODEM拨号,人工通话
程序名:MDIALER.TXT
军事医学科学院计算中心 夏云,1995.2.12
运行:使用VB FILE中的Load Text项装入,按F5或生成.EXE文件运行
------------
Option Explicit
Dim PhoneNumbers$()电话号码存储变量
Dim CancelFlagCancel按钮状态标志
Sub Dial(Number$)拨号例程
Dim DialString$,FromModem$,dummy
根据脉冲/双音多频拨号方式来选择DT/DP;
所拨号码存放在变量PhoneNumbers$(Index)中;
命令中的分号表示MODEM在拨号后重新回到命令状态;
每个命令由回车符Chr$(13)结束;
DialString$=ATDT+Number$+;+Chr$(13)
mi.Settings=2400,N,8,1设置帧格式
On Error Resume Next错误恢复
mi.PortOpen=True启动该口工作
If Err Then如果该口不可启动,则显示信息
MsgBox当前串行通信端口不能工作,请选择使用另外端口。”
Exit Sub
End if
mi.InBufferCount=0清除接收缓冲器
mi.Output=DialString$开始拨号
Do等待MODEM返回“OK”回答
dummy=DoEvents()进入等待方式,将资源提交系统管理
If mi.InBufferCount Then若接收缓冲器中有数据存在,则读
FromModem$=FromModem$+mi.Input
If InStr(FromModem$,OK)Then 是否接收到“OK”
Beep已经接收到“OK”,发蜂呜声
MsgBox对方电话已经拨通,请摘话机并按回车或OK钮”
Exit Do
End If
End If
If CancelFlag Then若Cancel钮按下则处理
CancelFlag=Fal
您可能关注的文档
最近下载
- TCPRA 4000.9-2025 文化数据服务平台技术要求 第9部分:运维管理系统.docx VIP
- 2025年部编六上语文《草原》公开课教案教学设计【一等奖】.pdf VIP
- 《直播电商基础与实务》-教案 项目8直播电商平台运营实战-教案.doc
- 抗凝药物临床应用指南.pptx VIP
- 学堂在线《医学科研设计》作业单元考核答案.docx VIP
- 庞加莱猜想证明概述.pdf VIP
- 2024年秋季新人教版9年级上册化学全册课件.pptx
- 药物化学 磺胺类药物及抗菌增效剂 磺胺类药物及抗菌增效剂 电子教案.doc VIP
- 高中地理校本课程教案.docx VIP
- 2024年山东成人学士学位英语考试真题解析 .docx VIP
文档评论(0)