Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Visual Basic > 使用Visual Basic开发通讯软件(一)
【标  题】:使用Visual Basic开发通讯软件(一)
【关键字】:c,软件,Visual,Visual Basic,is,Basic,Visual,Basic
【来  源】:网络

使用Visual Basic开发通讯软件(一)

Your Ad Here

一、pc串行通信程序机制 常用的pc串行通信程序大多利用biosint14h中断,以查询i/o方式完成异步串行通信。

  windows系统提供中断方式驱动的串行通信驱动程序comm.drv。通信程序无需直接对串行端口进行操作,而是通过驱动程序这一编程接口进行间接操作。

  windows操作系统中,串行通信采用“事件通知”方式,支持数据按块传送。进行通信时,windows开辟一个用户定义的输入输出缓冲区,每接收一个字符就产生一个低级硬件中断,串行驱动程序立即取得控制权,并将字符放入输入数据缓冲区,然后将控制权返还正在运行的应用程序。如果输入数据缓冲区满了,驱动程序用当前定义的流控制机制通知发送方停止发送数据。发送数据也采用类似的处理方式,应用程序将需要发送的数据放入输出数据缓冲区,串口每发送一个字符就产生一个低级硬件中断。

二、pc串行口远程通信的硬件配置

  串行通信数据链中,计算机一端称为dte,即数据终端设备;调制解调器一端称为dce,即数据通信设备。pc串行通信的硬件连接方式分为零modem连接和modem连接。

  零modem连接即直接用调制解调器电缆将两台设备连接起来,modem连接则通过dce(modem)将两台pc连接起来。

  零modem连接用于距离15m内两台dte或dce设备之间的连接。而modem连接则通过电话网或专线用于长距离的通信。

  txd和rxd信号线用于计算机和modem间传输数据信息;rts从计算机端发送信号到modem,表示希望把数据传给modem,若modem能接收这个数据,它将发送cts信号给计算机;dtr从计算机端发送信号到modem,表示计算机已作好通信准备,modem将dtr信号作为初始化自己的信号,然后给计算机回送数据设置就绪信号dsr;当本地modem接收到远地modem的呼叫,则发送ring信号给计算机;modem应答呼叫后,发送数据载波检测dcd信号到计算机,表示已建立连接。

  modem的工作状态分为命令状态和在线状态。处于命令状态时,modem对串口发送的信息进行解释,可通过pc串口向modem发送at命令对其进行初始化、设置和操作。

  例如,初始化命令为:“atqov1wosoκ1&c1&d2&yo&wo”,其含义为:

qo:返回结果码;

v1:以字符形式显示结果码;

wo:不返回协商进程结果码;

soκ1:振铃一次,即应答;

&c1:追踪数据载波信号cd;

&d2当dtr从开到关时,modem挂机进入命令状态;

&yo:modem上电时重新调出用户方案;

&wo:将以上设置存为动态设置用户方案0;

  一旦本地modem与远地modem建立连接,modem即处于在线状态,可进行数据传输。此时,modem不响应at命令,直接传送所收到的数据。


 

三、modem连接远程通信软件的编制

通信过程中大部分的工作由串行通信驱动软件承担。

  本文软件的运行环境为ast+4/66d,hayes公司的accura144+fax144modem,windows3.2,vb3.0专业版。vb3.0专业版中提供了一个mscomm.vbx通信控件。它使用户能很方便地通过对控件属性的设置、检测,访问串行通信驱动程序的大多数特性,而不必考虑其实现细节。该控件为“事件驱动”,只响应“oncomm”事件,该事件可对已发生的事件或错误进行处理,与commevent属性紧密相关。

通信软件、通信驱动软件和modem之间的通信关系

  以下程序实现了通信的基本过程。包括初始化串口和modem,上位机拨号呼叫下位机,下位机应答并开始定时传输数据,挂机停止传输等功能。

vb3.0编制的通信软件清单如下:

上位机控件清单:

控件名称 属性

form1form1caption ″上位机通信″

mscomm comm1

commandbutton1callcaption ″拨号″

commandbutton2hangcaption ″挂机″

commandbutton3exitcaption ″退出″

下位机控件清单

控件名称 属性

form1form1caption ″下位机通信″

mscomm comm1

commandbutton1hangcaption ″挂机″

commandbutton2exitcaption ″退出″

timer1timer1interval 3000

text(i)text(i)

用Visual Basic设计e-mail程序:【上一篇】
使用Visual Basic开发通讯软件(二):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 我知道何乐武功的强大
  • 正确选用和使用轮胎
  • 哈哈??要不要这次再辞职玩WOW呢?反复思量中
  • 用ASP.NET实现一个简单的计算器
  • SSL是如何工作的?
  • 小巧玲珑的平面制图工具--CB-CAD
  • VPN 组网方案
  • java 二进制,字节数组,字符,十六进制,BCD编码转换
  • SQL注入得到WEBSHELL
  • shell自动连接mysql后进行查询操作的方法
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.