文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发VB串口通讯及其在VB平台下的实现
精品推荐
特别推荐
·VB表格控件总览与例程分析
·用VB6.0制作画图板
·VB打造超酷个性化菜单(六)
·MSHFlexGrid 控件的应用
·Visual Basic 控件简介
·利用硬盘序列号计算软件注册码
·计算机等级考试二级VB常用算法:排序
·用diskid.dll和disk32.dll获得硬盘序列号
·VB6中使用Winsock穿越各种代理的实现
·在VFP、VB应用程序中激活鼠标功能
·vb基础(打印问题)
·想用就用,VB基础代码
·运用多媒体WAV文件格式二三例
·VB基础学习:编码规范
·VB实现程序的隐形
·使用.NET Framework从VB6中访问事件日志
·怎样把VC++代码转换成VB代码
·如何用VB程序来播放WAV文件
·VB 实用函数集
·用VB制作RM压缩软件
热点TOP10
·VB+Access设计图书管理系统
·DataGrid 控件的使用
·VB设计有语音报时和报警功能的闹钟
·窗体控件大小随窗体大小变化而变化
·VB中使用DirectX库的简明教程
·Visual Basic 控件简介
·串口通讯及其在VB平台下的实现
·用VB跟我学做记事本(很简单哟)
·VB API函数介绍--绘图函数
·用VB6.0制作画图板
·Visual Basic CommonDialog 控件的使用
·VB中使用EXCEL输出
·编写电话拨号程序时一点小技巧
·用VB.net2008编写数据查询窗体
·用VB6.0设计一个打字练习软件
·VB表格控件总览与例程分析
·用diskid.dll和disk32.dll获得硬盘序列号
·VB编程之路-如何让界面美化
·VB经典:操作.ini文件的通用类源代码
·VB网络编程中Winsock的使用

串口通讯及其在VB平台下的实现

日期:2007年10月14日 作者: 查看:[大字体 中字体 小字体]


摘要:本文首先介绍串行通讯的基础知识,然后结合示例剖析在VB平台下的串口通讯的编程技巧。随着计算机系统的普及与外围设备技术的发展,计算机与外围设备之间的通讯就显得越来越重要了。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口,而相应的应用程序也成为今年来研究的热点。本文旨在阐述一般的穿口通讯的原理及其程序设计,希望借此能够抛砖引玉,为更深入的研究打下一定的基础。

  一、串行通讯的基本原理

  所谓"串行通信"是指外设和计算机间使用一根数据信号线,数据在一根数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。相比之下,由于高速率的要求,处于计算机内部的CPU与串口之间的通讯仍然采用并行的通讯方式,所以串行口的本质就是实现CPU与外围数据设备的数据格式转换(或者称为串并转换器),即当数据从外围设备输入计算机时,数据格式由位(bit)转化为字节数据;反之,当计算机发送下行数据到外围设备时,串口又将字节数据转化为位数据。

  二、串口通讯的程序设计原理

  前面介绍了串行通讯的基本原理,那么如何在程序设计中实现它呢?事实上,这个过程并不复杂,一般有两种实现途径:其一就是使用MSCOMM控件,此控件提供很多方便操作的属性和方法,利用它们可以很方便地实现你的目的;另外一种途径就是使用Windows API,微软为开发者提供了很多相关的串行操作的编程接口,使用这些接口,可以很完成更为强大的功能。限于篇幅以及本文的宗旨,这里着重介绍第一种方法,第二种方法实际思路与第一种方法一样,不同的是它利用API函数代替了控件。

  无论使用哪一种途径,其基本的操作步骤大致一样的:首先初始化串口,比如端口号,波特率等属性,然后打开端口,通过接受缓冲区读上行数据,通过发送缓冲区来写下行数据。最后通过事件驱动来反映数据的到达与发送过程,另外在通讯过程中的错误的产生也可以通过CommEvent属性来管理。

进入讨论组讨论。
  三、VB平台下的实现

  使用MSCOMM控件主要是通过事件来处理串行口的交互,即当数据到达时,控件的OnComm的事件就会来捕获或处理这些通讯事件。而OnComm事件也可以用来捕获和处理通讯错误。在实际应用中,一个MSCOMM控件就对应一个串行口,所以如果要处理多个串行口的话,必须有相应数量的控件与之对应。下面介绍一下此控件的主要属性:

  CommPort---------设置或者返回串行端口号

  Settings-------------用来设置和返回波特率,奇偶校验,数据位和结束位

  PortOpen----------设置或者返回通讯端口的状态,也可以打开和关闭一个端口

  Input----------------从接受缓冲区里获取或删除数据

  Output-------------给发送缓冲区里写数据

  另外对于OnComm事件来说,每当CommEvent的数值发生改变时就会产生这种事件,这就表明要么就是一个通讯事件的产生,要么是一个通讯错误产生。CommEvent属性里面包含了通讯事件或者产生的错误的编号。
那么为了能够更加清楚的说明上述问题,下面给出一个例程,例程要实现的功能很简单,就是在一个过程里给一个特定的串行口发送数据,然后在另外一个过程里实时检测此串行口以便一旦此串行口的发送缓冲区有数据就显示消息,如果发送空数据就会显示"无数据的字样"。界面如下:

串口通讯及其在VB平台下的实现

  主要核心代码如下:

Private Sub Command1_Click()
If Text1.Text = "" Then
List1.AddItem "发送缓冲区无数据"
Exit Sub
End If
MSComm1.Output = Text1.Text
End Sub
Private Sub Command2_Click()
Unload Me
End Sub

'主要进行串口的初始化
Private Sub Form_Load()
'选择com1
MSComm1.CommPort = 1
'设置波特率为9.6kpbs,没有奇偶校验,8位数据位,1位结束位
MSComm1.Settings = "9600,N,8,1"

[1] [2] 下一页 




上一篇:Visual Basic设计图标提取工具

下一篇:VB.NET开发扫描客户端服务工具

串口通讯及其在VB平台下的实现 相关文章:
·如何实现局域网打印机共享
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·ASP.NET购物车的实现及结算处理
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·用C语言实现Ping程序功能
·windows 2003服务器配置VPN实现各种网络环境VSS协同开发
·让Windows XP操作系统实现全速启动
·如何实现一个表格表头不动tbody区域用滚动条可以滚动
串口通讯及其在VB平台下的实现 相关软件:
·TCP-IP详解卷2:实现
·ASP.NET的网站新闻管理系统设计与实现
·精装友情通讯录 V2003 Build 05.31 注册版
·TCP IP 通讯协定与网路架构概论
·金点子网络可视通讯软件
·内置对象实现超酷日历
·超强通讯录名片管理系统 V1.0
·ASP.NET下MVC设计模式的实现
·迈尔汛通讯王v 5.0.2
·超级通讯王(SuperPIM) V2.36

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn