VB串口编程

合集下载

Visual Basic 串口通讯编程

Visual Basic 串口通讯编程

Mid:从第m 个数开始,取 n 个数。例如:s=Mid(s,2,3)即为从 s 的 第二个数开始,取三个数放回s。 Asc:返回第一个字符(包括汉字)的Ascii码。 Str:将一个数字变为字符形式 Hex:返回Ascii码的16 进制数 3、错误处理的应用 我们在程序中加入这样一条语句:On Error Resume Next。当程序运 行出现错误,比如当打开串行口1 时,该串口已被其它程序占用,程 序就会出现错误,如果开始时执行过上述语句,程序将跳过错误语句, 接着往下执行。同时,VB 置Err 标志有效。 利用Err 的值,我们可以判断一些与硬件相关的操作是否正确和有 效,以改变程序的进程。 四、界面 画出界面,控件上的字符是它们的名称。需要提请大家注意的是,串 口控件(即那个电话控件)在VB 默认的控件栏中不存在,需要以下 述方式添加,在工程菜单->部件->控件选项卡中选中 Microsoft Comm Control 5.0 复选框,其它备用控件的添加也采用 相同的方式,希望大家记住,以后将不再重复。当不再需要该控件而

Visual Basic 串口通 三、预备知识和技巧 1、串行通讯控件 Mscomm 调入Mscomm 控件:在“项目”菜单中打开“部件”子菜单, 在部件选择对话框中选择 “Microsoft comm Control 5.0”, Mscomm 控件即加入到您的控件箱中. 常用属性:Commport-通讯端口号,如串口1、串口2。Setting-返回或 设置串口参数。InputLen-从接收缓冲区读出的字符数。 InBufferSize、OutBufferSize-输入、输出缓冲区尺寸。 InBufferCount-输入缓冲区内的字符数。 常用方法:Output、Input-将发送数据发送出去和将接收数据读出。 常用事件:OnComm-无论串行口发生什么事,都会触发该事件。 2、字符处理函数 Left:取字符串的左边n 个字符。例如:s=Left(s,2) 即为取s 的左 边两个字符再放回 s。 Right:与Left 类似,取字符右边 n 个字符。

VB串口通信程序代码

VB串口通信程序代码

vb中怎样用mscomm控件实现串口通信本问分两部分均来自第一部分jessezappy(晶晶)================================================================================== If MSComm1.PortOpen Then MSComm1.PortOpen = FalsemPort = 1 '假定是用COM1口' 设定传输速率等,可依照您的需求更改MSComm1.Settings = "9600,N,8,1"MSComm1.PortOpen = True'---------初始化Modem-------------MSComm1.Output = "ATZ"MSComm1.Output = "AT&F"MSComm1.Output = "ATE0"MSComm1.Output = "ATM1"MSComm1.Output = "ATQ0"MSComm1.Output = "ATV0"'--------------------------拨号-------------MSComm1.Output ="ATDT163" '拨163'---------------------------接通后MSComm1.Output ="SDFJDKSJLKFA" '发送字符串'---------------------Private Sub MSComm1_OnComm() '用串口事件捕捉数据..If MSComm1.InBufferCount Then' 通讯埠中假如有资料的话, 则读取进来InStringB = InStringB & MSComm1.Input' 如果资料中有Chr(13) 和Chr(10) 的话, 则显示出来If InStr(InStringB, vbCrLf) Theninstring = instring & InStringBAddText Text3, InStringB, FalseInStringB = ""End IfEnd IfEND SUB'-------------------------挂断--------MSComm1.PortOpen = False '这个挂断方法不能适用所有MODEM,我正在研究...通用办法================================================================================================第二部分:===========================================================================最后借你一篇文章看,作者不是我,里面的不一定都对..'-----------------------------------------------------------VB Mscomm控件应用江苏戚墅堰机车车辆厂设计处(213011) 李秉璋--------------------------------------------------------------------------------Visual Basic 6.0(以下简称VB) 是一种功能强大、简单易学的程序设计语言。

vb串口通信编程

vb串口通信编程

vb串口通信编程一、概述串口通讯作为一种古老而又灵活的通讯方式,被广泛地应用于PC间的通讯以及PC和单片机之间的通讯之中。

提到串口通讯的编程,人们往往立刻想到C、汇编等对系统底层操作支持较好的编程语言以及大串繁琐的代码。

实际上,只要我们借助相关ActiveX控件的帮助,即使是在底层操作一向不被人看好的VB 中,一样能够实现串口通讯,甚至其实现方法和C、汇编相比,要更加快捷方便。

下面,笔者就介绍一下在VB中实现串口通讯的方法。

在Visual Basic中有一个名为Microsoft Communication Control(简称MSComm)的通讯控件。

我们只要通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。

下面,笔者就简要地介绍一下MSComm控件的使用方法。

二、MSComm控件的主要属性、事件1、MSComm的属性由于MSComm控件属性很多,在此笔者仅介绍与实现串口通讯密切相关的核心属性。

Commport:设置通讯所占用的串口号。

如设成1(默认值),表示对Com1进行操作。

Setting:对串口通讯的相关参数。

包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。

其默认值是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。

Portopen:设置串口状态,值为True时打开串口,值为False时关闭串口。

Input:从输入寄存器读取数据,返回值为从串口读取的数据内容,同时输入寄存器将被清空。

Ouput:发送数据到输出寄存器。

InBufferCount:设置输入寄存器所存储的字符数,当将其值设为0时,则输入寄存器将被清空。

InputMode:设置从输入寄存器中读取数据的形式。

若值为0,则表示以文本形式读取;值为1,则表示以二进制形式读取。

OutBufferCount:设置输出寄存器所存储的字符数,当将其值设为0时,则输出寄存器将被清空。

简单的VB串口通讯入门

简单的VB串口通讯入门

我的VB串口读写入门首先需要的是在VB中增加一个microsoft comm control 6.0的控件。

步骤就是:工程(project)->部件(components)->点击,出现对话框下拉垂直滑动杆,找到“microsoft comm control 6.0”点击前面的矩形框,确定。

先介绍一下必须熟悉几个属性:CommPort 设置并返回通讯端口号。

Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。

PortOpen 设置并返回通讯端口的状态。

也可以打开和关闭端口。

Input 从接收缓冲区返回和删除字符。

Output 向传输缓冲区写一个字符串。

然后给大家一个读串口的小例程:Private Sub Form_Load()mPort = 1 '选择com1Mscomm1.Settings = "9600,N,8,1" '设置波特率为9600,没有奇偶校验,8位数据位,1位结束位Mscomm1.InputLen = 0 '读取全部的输入缓冲区If Mscomm1.PortOpen = False Then Mscomm1.PortOpen = True '端口打开Mscomm1.RThreshold = 2Mscomm1.SThreshold = 2End SubPrivate Sub Mscomm1_OnComm() '所有的通讯事件都可以激发MSComm1控件的OnComm 事件Select Case mEventCase comEvReceive'此处的代码可以进行当串口的接受缓冲区里有RThreshold个字符的处理Text4 = Text4 & Mscomm1.InputCase comEvSend'此处的代码可以进行当串口的发送缓冲区里有SThreshold个字符的处理End SelectEnd SubUnload 事件是当窗体从屏幕上删除时发生。

VB串口编程的几个问题

VB串口编程的几个问题

目次:串口数据接收方式如何处理不定长数据的接收用字符方式收发码值大于127的字符数据串口通讯问答2串口数据接收方式1、在OnComm 事件中接收数据:这种方式能充分MSCOMM控件的特性。

OnComm 事件还可以检查和处理通讯错误;可以通过检查CommEvent 属性的值来查询事件和错误;对于不定长数据以及对数据进行处理比较复杂的情况,此法不是很方便。

Private Sub MSComm_OnComm ()Select Case mEvent' 错误Case comEventBreak ' 收到Break。

Case comEventCDTO ' CD (RLSD) 超时。

Case comEventCTSTO ' CTS Timeout。

Case comEventDSRTO ' DSR Timeout。

Case comEventFrame ' Framing ErrorCase comEventOverrun '数据丢失。

Case comEventRxOver'接收缓冲区溢出。

Case comEventRxParity' Parity 错误。

Case comEventTxFull '传输缓冲区已满。

Case comEventDCB '获取DCB] 时意外错误' 事件Case comEvCD ' CD 线状态变化。

Case comEvCTS ' CTS 线状态变化。

Case comEvDSR ' DSR 线状态变化。

Case comEvRing ' Ring Indicator 变化。

Case comEvReceive ' 收到RThreshold # of chars.Case comEvSend ' 传输缓冲区有Sthreshold 个字符'Case comEvEof ' 输入数据流中发现EOF 字符End SelectEnd Sub2.轮循法采集数据:A、定时器轮循法对于数据包方式收发数据以及不需即时响应情况,用轮循法更好些。

用VB控制电脑串口(正确版)

用VB控制电脑串口(正确版)

如何用VB 实现电脑串口通信无协技术顾问: 陈文斯什么是串口,为何要学习串口串口是计算机上一种非常通用设备通信的协议。

大多数台式计算机包含两个基于RS232的串口(一般用9针公头接出其中一个接口,如图1所示)。

串口同时也是仪器仪表设备通用的通信协议;很多GPIB 兼容的设备也带有RS-232口。

鉴于串口应用如此广泛,大多数单片机也内置了串口。

通过串口,单片机可以很轻松地与其它设备交换信息。

用VB 编写串口通信的好处Windows 操作系统由于其友好的用户界面赢得了很多用户的青睐。

Visual Basic 即是微软公司基于Windows 操作系统的可视化编程平台。

有些同学会疑问:我又不是计算机专业的,学习VB 是不是十分痛苦。

我告诉你们,非也!要是你对它感兴趣,很快,你会爱上它的。

VB 十分容易入门。

设计用户界面就像我们平时制作PPT 的界面一样。

只需把你需要的控件拖到界面上并调整即可。

VB 的代码也很通俗易懂。

其实基本上都是调用系统函数的。

为抛砖引玉,现举个例子,简要介绍一下VB 编写。

(以下的所有例程都是基于VB6.0的,对于较高.net 版本,可能有所不同)任务1:软件界面上有一个文本框和按钮,当点击按钮时,文本框上显示“爱电子,爱生活。

华南理工大学电子爱好者协会”1、 运行VB ,在新建程序的界面上画出一个文本框(textbox )和按钮(commandbotton )。

如图2所示;2、 双击按钮,出现代码编辑窗口。

并在其中输入代码,如图3所示;3、 运行程序,点击按钮,即可看到如图4所示的效果:是不是很简单呢?!图2图3图1图4个人建议大一大二的师弟师妹应该学习如何用VB操作串口,特别是学会如何实现电脑跟单片机的通信。

这样子,我们日后设计的电子作品必定增色不少。

现在详细讲解一下如何用VB操作串口。

(读者可去图书馆借阅相关图书,掌握串口跟VB的基础知识)要用VB操作串口,需要用到Mscomm控件。

7 串口通讯实例程序(VB)

7 串口通讯实例程序(VB)

第七篇串口通讯实例程序(VB版)上一篇文档中简单了解了一下SerialPort控件。

本篇文档将利用这个控件,编写一个简单的串口收发程序。

打开VS2005。

文件| 新建| 项目。

新建一个项目,名称:SerialPortTest。

打开Form1.vb窗口。

在窗口中添加几个控件。

包括4个按钮,两个编辑框,1个状态栏,两个静态文本,简单的调整一下窗体。

如下图:将两个编辑框的Multiline属性设置为True。

然后给窗体添加一个SerialPort控件。

调整一下其属性如下:BaudRate : 9600 DataBits : 8 Parity : None PortName : COM1StopBits : One ReceivedBytesThreshold : 1添加“打开串口”按钮的单击响应函数,如下:——————————————————————————————————Private Sub BTN_COM_OPEN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_COM_OPEN.ClickIf Me.SerialPort1.IsOpen = True ThenMe.StatusBar1.Text = "串口已经连接! COM1,9600,8,1"MsgBox("当前设备已连接", MsgBoxStyle.OkOnly, "提示") ElseMe.SerialPort1.Open()If Me.SerialPort1.IsOpen = True ThenMe.StatusBar1.Text = "打开串口成功!COM1,9600,8,1"ElseMe.StatusBar1.Text = "打开串口失败!"End IfEnd IfEnd Sub ——————————————————————————————————上面这段代码,打开串口,并在状态栏上显示一些提示信息。

利用VB如何进行串口读写

利用VB如何进行串口读写

利用VB如何进行串口读写在VB中,可以使用SerialPort类来进行串口读写操作。

以下是使用VB进行串口读写的一般步骤:1. 引用System.IO.Ports命名空间:在代码文件的顶部,添加Imports System.IO.Ports命名空间,以便可以使用SerialPort类。

2. 创建SerialPort对象:在代码中创建SerialPort对象,并设置串口的各种属性,如端口名称、波特率、数据位、校验位、停止位等。

例如:```vbDim serialPort As New SerialPortserialPort.PortName = "COM1"serialPort.BaudRate = 9600serialPort.Parity = Parity.NoneserialPort.DataBits = 8serialPort.StopBits = StopBits.One```3. 打开串口:使用serialPort.Open(方法打开串口,并检查串口是否成功打开。

例如:```vbTryserialPort.OpenIf serialPort.IsOpen ThenMessageBox.Show("串口已打开")End IfCatch ex As ExceptionMessageBox.Show("串口打开失败:" & ex.Message)End Try```4. 读取串口数据:使用serialPort.DataReceived事件来处理接收到的数据。

例如:```vbPrivate Sub serialPort_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles serialPort.DataReceived Dim receivedData As String = serialPort.ReadExisting'处理接收到的数据End Sub```5. 写入串口数据:使用serialPort.Write(方法向串口写入数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX
注册控件
河南理工大学 交通信息工程与控制系
17
11.4 VB6.0串口通信控件
(2)属性、事件与使用步骤
加入通信部件 设置通信端口号 设置通信协议 设置传输参数 设置其它参数 打开通信端口 送出或读入字符串
And

8 Mod 2=0 And 8 Mod 3=0,值为False。只有当两个表达式的值都为真 (True)时,结果才为真,否则为假(False) 8 Mod 2=0 Or 8 Mod 3=0,值为真(True)。两个表达式中只要有一个 为真时,结果就为真;只有当两个表达式的值都为假(False)时,结 果才为假 Not 1>0,值为False,由真变假;Not 1<0,值为True,由假变真
实 例
7\2值为3,12.58\3.45值为4(两边先四舍五入再运算)
Mod
+ -
求余数
加 法 减法、取负
7 mod 2值为1,12.58 Mod 3.45值为1(两边先四舍五入再运算)
1+2 5-8, -3
河南理工大学
交通信息工程与控制系
21
11.5 VB语言基础
(2)运算符
运算符 名称 实例说明
9
11.2 VB6.0编程基础
(3)工程资源管理器
河南理工大学
交通信息工程与控制系
10
11.2 VB6.0编程基础
(4)属性窗口
河南理工大学
交通信息工程与控制系
11
11.2 VB6.0编程基础
(5)代码编辑窗口
河南理工大学
交通信息工程与控制系
12
11.3 VB6.0窗体
(1)属性
河南理工大学
现场总线与工业以太网
第十一讲 VB串口编程
主要内容
VB6.0简介
VB6.0编程基础
VB6.0窗体
VB6.0串口通信控件
VB语言基础
河南理工大学
交通信息工程与控制系
2
11.1 VB6.0简介
(1)VB6.0
Beginners All-Purpose Symbol Instruction Code
交通信息工程与控制系
13
11.3 VB6.0窗体
(2)事件
常用事件
Click DblClick
Load
Unload Resize Activate
河南理工大学
交通信息工程与控制系
14
11.3 VB6.0窗体
(3)方法
常用方法
Print Cls
Move
Show Hide
河南理工大学
目录列表框(DirListBox) —
形状(Shape) —————— 图像框(Image) ————— 河南理工大学 交通信息工程与控制系
———— 文件列表框(FileListBox)
————————— 画线(Line) ——————— 数据库(Data)
16
11.4 VB6.0串口通信控件
(1)控件的添加
河南理工大学
交通信息工程与控制系
5
11.2 VB6.0编程基础
(1)开发环境
菜单栏 工具栏 工具箱 属性窗口 标题栏 工程管理 窗口
窗体设计窗口 立即窗口
布局窗口
河南理工大学
交通信息工程与控制系
6
11.2 VB6.0编程基础
(2)工具箱
指针(选择对象) ———— ————— 图片框(PictureBox)
——————文本框(TextBox)
—— 命令按钮(CommandButton) ———— 单选按钮(OptionButton) ——————— 列表框(ListBox) ———— 垂直滚动条(VscrollBar) —— 驱动器列表框(DriveListBox) ———— 文件列表框(FileListBox) ————————— 画线(Line) ——————— 数据库(Data)
标签(Label) ——————
框架(Frame) —————— 复选框(CheckBox) ——— 组合框(ComboBox) ——— 水平滚动条(HscrollBar)—— — 定时器(Timer) ————— 目录列表框(DirListBox) — 形状(Shape) —————— 图像框(Image) —————
可视化
河南理工大学
交通信息工程与控制系
3
11.1 VB6.0简介
(2)VB6.0发展
1991年 Visual Basic1.0 1992年 Visual Basic2.0 1993年 Visual Basic3.0 1995年 Visual Basic4.0 1997年 Visual Basic5.0 1998年 Visual Basic6.0
4
11.1 VB6.0简介
(3)VB6.0的特点
提供了面向对象的可视化编程工具 事件驱动的编程方式 结构化的程序设计语言 提供了易学易用的应用程序集成开发环境
支持多种数据库系统的访问
支持动态数据交换( DDE)、动态链接库( DLL) 和对象的链接与嵌入(OLE)
完备的Help联机帮助功能
交通信息工程与控制系
15
11.3 VB6.0窗体
(4)扩展
其它控件都具有类似于窗体的属性、事件和方法。
指针(选择对象) ———— 标签(Label) —————— 框架(Frame) —————— 复选框(CheckBox) ——— 组合框(ComboBox) ——— 水平滚动条(HscrollBar)—— — 定时器(Timer) ————— ————— 图片框(PictureBox) ——————文本框(TextBox) —— 命令按钮(CommandButton) ———— 单选按钮(OptionButton) ——————— 列表框(ListBox) ———— 垂直滚动条(VscrollBar) —— 驱动器列表框(DriveListBox)
学习版
专业 版
支持Microsoft COM标准,可生成ActiveX控件,可以用 Visual Basic生成自己的自定义控件和DLL。
功能和性能都大大增强了,它还提供了新的、灵巧的数据 库和Web开发工具,如增加了新的SQL Server交互方法,包括数 据库的访问,使用数据库的新工具和控件等
交通信息工程与控制系
河南理工大学
交通信息工程与控制系
7
11.2 VB6.0编程基础
(2)工具箱
河南理工大学
交通信息工程与控制系
8
11.2 VB6.0编程基础
(2)工具箱
Ocx(Object Linking and Embedding Control eXtension)文 件的路径+名称
河南理工大学
交通信息工程与控制系
对象型
Object
4
任何对象的引用
变体型
Variant
若存放数值类型数据,占16个字节,最大可达Double的范围; 若存放字符串类型数据,字符串长度与变长字符串相同
河南理工大学
交通信息工程与控制系
20
11.5 VB语言基础
(2)运算符
运算符
^ * / \
名 称
乘 方 乘 法 除法 整 除 2^3值为8,-2^3值为-8 5*8 7/2,计算结果为3.5
Or

Not

河南理工大学
交通信息工程与控制系
22
11.5 VB语言基础
(3)基本结构
语句1 语句2 (a)顺序结构 假 语句1

表达式

语句2
表达式

(b)选择结构
语句
(c)循环结构 河南理工大学 交通信息工程与控制系
23
字节数
2 4 4 8 1
取值范围和有效位数
精确表示-32768~32767范围内的整数 精确表示-2147483648~2147483647范围内的整数 -3.402823×1038~-1.401298×10-45 1.401298×10-45~3.402823×1038 6位有效位数
-1.79769313486232×10308 ~ -4.94065645841247×10-324 4.94065645841247×10-324 ~ 1.79769313486232×10308 15位有效位数
0~255
每个字符占1个字节,每个字符串最多可存放约20亿个字符 size是小于65535的无符号整常数,为字符串长度 2 True或False
交通信息工程与控制系
19
11.5 VB语言基础
(1)数据类型
类 型
货币型 日期型
名 称
Currency Date
字节数
8 8
取值范围和有效位数
-922337203685477.5808~922337203685477.5807 100.1.1~9999.12.31
使用完后关闭端口
河南理工大学
交通信息工程与控制系
18
11.5 VB语言基础
(1)数据类型
类 型
整 型 长整型 单精度浮点型 双精度浮点型 字节型 变长字符串 定长字符串 逻辑型 河gle Double Byte String String*size Boolean
河南理工大学
这在当时引起了很大的轰动。许多专家把Visual Basic的出 现当作是软件开发史上的一个具有划时代意义的事件。 包含了一组由微软公司和其他公司开发的自定义控件。 包含了变体数据类型、预定义True、False常量和对象变量
相关文档
最新文档