VB串口控件使用攻略

合集下载

VB通讯控件说明

VB通讯控件说明

一.引用串行通讯组件(MSComm 控件)包含在专业版及企业版中.MSComm 组件并不是主动出现在工具箱的,当我们需要用到它时,做如下步骤:1.在工具箱上右键单击,在弹出的对话框中选择"部件..."选项2.在"控件"标签中,找到"Microsoft Comm Control 6.0"选项,并勾选它,然后按"确定"3.这时,工具箱中会出现一个"电话机"的图标.已经OK啦.(我用的是简体中文版的.)二.属性常用属性:说明CommPort:设置通讯端口号(1-16).例:mPort=1 '指定使用COM1作通讯传输.Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位.格式为"BBBB,P,D,S".默认值为"9600,N,8,1"BBBB为联机速度,P为同位检查方式,None无(默认值),Even偶数,Mark记号,Odd奇数,Space空白.D为数据位数,4-8.S为停止位,1,1.5,3."9600,N,8,1"的意思是"所使用的通讯端口是以每秒9600 Bit的速度作传输,不作同位的检查,每个元是8个Bit,而停止位是1个Bit"注:四项的顺序是不可前后对调的,其中的字母N可以是大写,也可以是小写.HandShaking:设置通讯双方的交握协议,即流量控制.0-comNone:(默认值)没有交握协议.1-comXOnXOff:(Xon/Xoff)交握协议.2-comRTS:RTS/CTS(Request To Send/CLear To Send)交握协议.3-comRTSXonXoff:Request To Send和Xon/Xoff交握协议.Output: 将一个字符串写入传输缓冲区.例:MSComm1.Output="ABCDE",此即将ABCDE 5个字符通过RS232传送出去.Input: 从对方所传至输入缓冲区的字符读进程序中,并清除缓冲区中已被读取的字符.这是一种FIFO(first in first out)的机制.例:Buffer$=MSComm1.Input.将输入缓冲区的字符读入Buffer字符串变量中.InputLen: 指定由串行端口读入的字符串长度.(每次读取input时,读取多少字节)MSComm1.InputLen=10 '当程序执行Input指令时,只会读取10个字符.假设在输入缓冲区中有55个字节,则每次Input指令会读取10个字节进来,因此要全部读完所有的数据需要执行6次Input指令.RThreshold: 接受的字符数.RTHreshold=1----表示当有一个字节到达接收缓冲区时,响应OnComm事件。

VB6.0下MSComm控件实现串口通信

VB6.0下MSComm控件实现串口通信

VB6.0下用MSComm控件实现串口通信MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能,以下先对其属性进行详细的说明后再举一个例子进行说明:1基本属性CommPortO mPort[=value]Object为MSComm控件,value为整数值,标志端口号。

说明:该属性设置并返回通讯端口号,value的值可以设为1-16间的任意数(默认为1)。

在打开端口之前必须先设置CommPort属性,当端口不存在时,如果用PortOpen属性打开它,MSComm控件会产生错误68(即设备无效的错误)。

SettingsObjiect.Setting[=value]Object为MSComm控件,value为字符串类型,表示通讯端口的设置值。

说明:本属性用来设置并返回端口的波特率、奇偶校验位、数据位和停止位参数。

当端口打开时,如果指定的value参数非法,则MSComm控件产生380号(非法属性值)错误。

有效的value参数值由四个设置值组成,有如下格式:“BBBB,P,D,S”,其中BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数。

Value的默认值为:“9600,N,8,1”,下面给出合法的波特率、奇偶校验位、数据位和停止位参数:波特率:110,300,600,1200,2400,4800,9600(默认),14400,19200,28800,38400,56000,57600,115200,128000,256000。

奇偶校验值:E(偶校验,Even)、M(标记,Mark)、N(默认,Default,None)、O(奇校验,Odd)、S(空格,Space)。

数据位值:4,5,6,7,8(默认),9。

停止位值:1(默认),1.5,2。

PortOpenO bject.PortOpen[=value]Object为MSComm控件。

Value为布尔类型,表明通讯端口的状态。

VB.NET串口控件的使用和说明来自安的博客

VB.NET串口控件的使用和说明来自安的博客

串口控件的使用和说明来自安的博客上位机软件,尤其是串口监听软件是我们常用到的工具。

这里我讲解一下使用时,串口控件的使用和串口的配置。

一、认识串口控件,名称SerialPort,调用方式如下图所示。

二、串口常用参数说明:名称说明BaseStream获取SerialPort对象的基础Stream对象。

BaudRate获取或设置串行波特率。

BreakState获取或设置中断信号状态。

BytesToRead获取接收缓冲区中数据的字节数。

BytesToWrite获取发送缓冲区中数据的字节数。

CDHolding获取端口的载波检测行的状态。

Container 获取 IContainer,它包含 Component。

(从Component 继承。

)CtsHolding获取“可以发送”行的状态。

DataBits获取或设置每个字节的标准数据位长度。

DiscardNull获取或设置一个值,该值指示 Null 字节在端口和接收缓冲区之间传输时是否被忽略。

DsrHolding获取数据设置就绪 (DSR) 信号的状态。

DtrEnable获取或设置一个值,该值在串行通信过程中启用数据终端就绪 (DTR) 信号。

Encoding获取或设置传输前后文本转换的字节编码。

Handshake获取或设置串行端口数据传输的握手协议。

IsOpen获取一个值,该值指示 SerialPort 对象的打开或关闭状态。

NewLine获取或设置用于解释ReadLine和WriteLine方法调用结束的值。

Parity获取或设置奇偶校验检查协议。

ParityReplace获取或设置一个字节,该字节在发生奇偶校验错误时替换数据流中的无效字节。

PortName获取或设置通信端口,包括但不限于所有可用的 COM 端口。

ReadBufferSize获取或设置 SerialPort 输入缓冲区的大小。

ReadTimeout获取或设置读取操作未完成时发生超时之前的毫秒数。

VB串口操作

VB串口操作
各自的过程代码
设置Comm控件的 RThreshold和
SThreshold属性,如 图
RThreshold设置串口一次性从接收缓冲区中读取 的字节数,SThreshold设置串口一次性从发送缓冲 区中读取的字节数;
Settings属性格式为: ‘波特率’,’奇偶校验’,’数据 位’,’停止位’
这些代码分别实现” 接收清除”,”发送清除” 和程序装载时的初始
根据图示,画出程 序外观,并对相应
属性进行修改
右键单击工具箱 空白处,选择部件
找到Microsoft Comm Control 6.0并选中,点击 确定按扭,加载Comm控

现在发现工具箱中已 经添加了一个Comm
控件,选中该控件
绘制Comm 控件
分别双击窗体空白处、 接收清除按扭和发送 清除按扭并编辑它们

mport=3表示将 Comm控件的端口号设为3 Mscomm1.portopen=true表示打开 端口3
双击发送按扭,进 入该编辑窗口,编 辑”发送”按扭
的过程代码
Mscomm1.output=Text2.text是将文本框控 件,进入串口 接收过程代码
接收过 程代码
定义一个字符 串变量receive
多分支判断语句判断 串口的当前事件
Dim receive As String
Select Case mEvent
Case comEvReceive
如果当前事件为接
receive = MSComm1.Input 收,则顺序执行
Text1.Text = Text1.Text & receive
End Select
在文本框1中显示 接收到的数据

VB6.0串口操作

VB6.0串口操作

VB6.0串口操作职业2010-12-22 11:30:58 阅读60 评论0 字号:大中小订阅一直想通过计算机人机界面来控制单片机,感觉用软件控制硬件,即计算机控制是一件比较有意思的事情。

计算机与单片机的连接,是通过串口来实现的。

如何实现,我想应该明白VB怎样来操作串口,实现VB操作串口,就可以把单片机串口线接入计算机,从而实现真正的计算机控制单片机。

这其他是别人早已实现了的,我因为是刚接触,就写下来留作纪念吧。

开发软件:Visual Basic 6.0企业版(VB6)新建一个工程:标准EXE。

接下来做Form界面。

代码:Private Sub Combo1_Click()If MSComm1.PortOpen = True Then '如果串口打开先关闭后再进行其他操作MSComm1.PortOpen = FalseEnd IfmPort = Combo1.ListIndex + 1End SubPrivate Sub Command1_Click()Dim Temp(0) As ByteDim strBuff As StringIf Option3.Value = True Then '如果显示16进制发送则进行16进制处理,这里只发送一个Temp(0) = "&H" & Text1MSComm1.Output = Temp '发送一个16进制ElsestrBuff = Text1End IfIf MSComm1.PortOpen = False ThenMsgBox "请打开串口"End IfOn Error GoTo uerrorMSComm1.Output = strBuffuerror: End SubPrivate Sub Command2_Click()On Error GoTo uerror '发现错误跳转到错误处理If Command2.Caption = "关闭串口" ThenMSComm1.PortOpen = FalseCommand2.Caption = "打开串口" '按钮文字改变Shape1.FillColor = &HFFFFC0 '灯颜色改变ElseMSComm1.PortOpen = TrueCommand2.Caption = "关闭串口"Shape1.FillColor = &HFFEnd IfExit Subuerror:msg$ = "无效端口号" '错误显示Title$ = "串口调试助手"x = MsgBox(msg$, 48, Title$) '48标示显示警告图标End SubPrivate Sub Command3_Click()Text2.Text = ""End SubPrivate Sub Command4_Click()Text1.Text = ""End SubPrivate Sub Form_Load()If MSComm1.PortOpen = True ThenMSComm1.PortOpen = FalseElseEnd IfCombo1.AddItem "COM1"Combo1.AddItem "COM2"Combo1.AddItem "COM3"Combo1.AddItem "COM4"Combo1.AddItem "COM5"Combo1.AddItem "COM6"Combo1.AddItem "COM7"Combo1.AddItem "COM8"Combo1.AddItem "COM9"Combo1.AddItem "COM10"Combo1.AddItem "COM11"Combo1.AddItem "COM12"Combo1.AddItem "COM13"Combo1.AddItem "COM14"Combo1.AddItem "COM15"Combo1.AddItem "COM16"Combo1.ListIndex = 0mPort = Combo1.ListIndex + 1 MSComm1.Settings = "9600,n,8,1"Command2.Caption = "打开串口"Shape1.FillColor = &HFFFFC0Option2.Value = TrueOption4.Value = TrueCombo2.AddItem "256000"Combo2.AddItem "128000"Combo2.AddItem "115200"Combo2.AddItem "57600"Combo2.AddItem "38400"Combo2.AddItem "28800"Combo2.AddItem "19200"'Combo2.AddItem "14400"'Combo2.AddItem "12800"'Combo2.AddItem "11520"Combo2.AddItem "9600"Combo2.AddItem "4800"Combo2.AddItem "2400"Combo2.AddItem "1200"Combo2.AddItem "600"Combo3.AddItem "无None"Combo3.AddItem "奇Odd"Combo3.AddItem "偶Even"Combo4.AddItem "4"Combo4.AddItem "5"Combo4.AddItem "6"Combo4.AddItem "7"Combo4.AddItem "8"Combo5.AddItem "1"Combo5.AddItem "2"End SubPrivate Sub MSComm1_OnComm()Dim BytReceived() As ByteDim strBuff As StringDim i As IntegerSelect Case mEvent '事件发生Case 2ClsMSComm1.InputLen = 0 '读入缓冲区全部内容strBuff = MSComm1.Input '读入到缓冲区If MSComm1.InputMode = comInputModeBinary ThenBytReceived() = strBuff '如果是二进制接收模式则进行数据处理,否则直接显示字符串For i = 0 To UBound(BytReceived)If Len(Hex(BytReceived(i))) = 1 ThenstrData = strData & "0" & Hex(BytReceived(i)) & " " '如果只有一个字符,则前补0,如F显示0F,最后补空格Else '方便显示观察如:00 0F FEstrData = strData & Hex(BytReceived(i)) & " "End IfNextText2 = Text2 & strDatastrData = ""ElseText2 = Text2 & strBuffEnd IfEnd SelectEnd SubPrivate Sub Option1_Click()MSComm1.InputMode = comInputModeBinaryEnd SubPrivate Sub Option2_Click()MSComm1.InputMode = comInputModeTextEnd Sub重要:一。

VB串口通信详细讲解

VB串口通信详细讲解

VB串口通信目前,Visual Basic (简称VB)已成为WINDOWS 系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。

VB支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。

在VB应用程序可以方便地调用WINDOWS API函数,使得编程效率提高,应用功能增强。

利用VB提供的这些功能,我们可以有三种方法完成串口通信。

一种是用VB提供的具有强大功能的通信控件;另一种方法是调用WINDOWS API函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/输出完成,该方法简便易行,但有一定的局限性。

一、利用通信控件(MSCOMM)完成串口通信VB提供了通信控件MSCOMM,文件名为MSCOMM. VBX。

该控件可设置串行通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。

在通信过程中可以触发On Comm 事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent属性来了解通信的情况,进行收发数据的处理。

每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。

1、通信控件的事件及基本属性(1)事件On Comm :通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及错误进行处理。

通过对CommEvent属性的判断可知当前的通信错误和事件,分别对每个CommEvent 值进行编程就完成了对各个错误和事件的处理。

如:CommEvent = MSCOMM —EV—SEND表示发送事件。

这些信息可从VB提供的常量文件CONSTANT.TXT中查出。

(2)属性CommPort :设置通信控件与哪个串口相连接,设置并返回通信口号。

Setting :设置通信的信息格式,为字符型。

顺序为:波特率、校验、数据位、停止位。

PortOpen :布尔型、开关通信口。

vb2008sp控件使用经验

vb2008sp控件使用经验

中serialport控件的一些使用经验一些需要注意的地方Serialport 的datareceived事件是串口接收到不大于SerialPort1.ReceivedBytesThreshold 个字节的时候触发,但是具体多少个不确定(实验发现,当第一个字节与下一个字节发送间隔很短的时候几乎就是等于SerialPort1.ReceivedBytesThreshold的时候触发,但是间隔很长的时候就不确定了,但是一定小于 SerialPort1.ReceivedBytesThreshold)。

在datareceived 事件中不能直接改变窗体上的控件的属性,例如用一个label 显示接收到的数,把数直接赋值给label的text属性,这是不可以,但是可以利用同步委托实现。

异步委托也可以实现,但是经过实验,这样会在ReceivedBytesThreshold=1,并且相邻两个字节间隔较长的时候造成串口丢失数据。

同步委托view plaincopy to clipboardprint?1.Delegate Sub _dlmyfunction()2.3.'放在前面声明一下,名字随便,我用的是_dlmyfunction,4.'也可以用 aa或者其他名字。

与后面调用的时候对应就行了5.6.Private sub myfunction()7.8.'函数体9.10.End sub调用view plaincopy to clipboardprint?1.Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles S erialPort1.DataReceived2.3.'这里可以放自己的代码4.5.Me.invoke (new _dlmyfunction(address of myfunction)) '同步委托6.7.End sub8.在datareceived事件中要判断一下接收到的字节数是不是零再接收,不然。

VB.Net串口通信用法

VB.Net串口通信用法

串口通信用法 串口通信用法对于初次使用 的SerialPort 编写串口通信的朋友,这些是很必要的知识,也是编写串口通信程序前的知识准备。

1、使用 SerialPort 设置串口属性进行串口通讯时,需要设置一些相关参数,可以通过设置SerialPort 类的属性来进行。

串口属性主要包括.PortName 串口名称,COM1, COM2等。

.BaudRate 波特率,也就是串口通讯的速度,进行串口通讯的双方其波特率需要相同,如果用PC连接其他非PC系统,一般地,波特率由非PC系统决定。

.Parity 奇偶校验。

可以选取枚举Parity中的值.DataBits 数据位.StopBits 停止位,可以选取枚举StopBits中的值.Handshake 握手方式,也就是数据流控制方式,可以选取枚举Handshake中的值对其中几个关键术语解释:a,波特率:这是一个衡量通信速度的参数。

它表示每秒钟传送的bit的个数。

例如300波特表示每秒钟发送300个bit。

当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。

这意味着串口通信在数据线上的采样率为4800Hz。

通常电话线的波特率为14400,28800和36600。

波特率可以远远大于这些值,但是波特率和距离成反比。

高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。

当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。

如何设置取决于你想传送的信息。

比如,标准的ASCII码是0~127(7位)。

扩展的ASCII码是0~255(8位)。

如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。

每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。

由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

c,停止位:用于表示单个包的最后一位。

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

目次MSComm控件两种处理通讯的方式CommPort属性RThreshold 属性CTSHolding 属性SThreshold 属性CDHolding 属性DSRHolding 属性Settings 属性InputLen 属性EOFEnable 属性Handshake 常数OnComm 常数InputMode 常数错误消息MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。

MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。

Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows 下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。

具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法,一是查询法。

1.MSComm控件两种处理通讯的方式MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。

1.1 事件驱动方式事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。

在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。

在这些情况下,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。

OnComm 事件还可以检查和处理通讯错误。

所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。

在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。

这种方法的优点是程序响应及时,可靠性高。

每个MSComm 控件对应着一个串行端口。

如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。

1.2 查询方式查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。

在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误。

如果应用程序较小,并且是自保持的,这种方法可能是更可取的。

例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。

2.MSComm 控件的常用属性MSComm 控件有很多重要的属性,但首先必须熟悉几个属性。

CommPort 设置并返回通讯端口号。

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

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

也可以打开和关闭端口。

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

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

下面分别描述:CommPort属性设置并返回通讯端口号。

语法 mPort[value ] (value 一整型值,说明端口号。

)说明在设计时,value 可以设置成从 1 到 16 的任何数(缺省值为 1)。

但是如果用 PortOpen 属性打开一个并不存在的端口时,MSComm 控件会产生错误 68(设备无效)。

注意:必须在打开端口之前设置CommPort 属性。

RThreshold 属性:在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。

语法 object.Rthreshold [ = value ](value 整型表达式,说明在产生 OnComm 事件之前要接收的字符数。

)说明当接收字符后,若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 事件。

例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。

CTSHolding 属性:确定是否可通过查询 Clear To Send (CTS) 线的状态发送数据。

Clear To Send 是调制解调器发送到相联计算机的信号,指示传输可以进行。

该属性在设计时无效,在运行时为只读。

语法: object.CTSHolding(Boolean)Mscomm 控件的 CTSHolding 属性设置值:True Clear To Send 线为高电平。

False Clear To Send 线为低电平。

说明:如果 Clear To Send 线为低电平 (CTSHolding = False) 并且超时时,MSComm 控件设置 CommEvent 属性为 comEventCTSTO (Clear To Send Timeout) 并产生 OnComm 事件。

Clear To Send 线用于 RTS/CTS (Request To Send/Clear To Send) 硬件握手。

如果需要确定 Clear To Send 线的状态,CTSHolding 属性给出一种手工查询的方法。

详细信息有关握手协议,请参阅 Handshaking 属性。

SThreshold 属性: MSComm 控件设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数。

语法 object.SThreshold [ = value ] value 整形表达式,代表在OnComm 事件产生之前在传输缓冲区中的最小字符数。

说明:若设置 Sthreshold 属性为 0(缺省值),数据传输事件不会产生 OnComm 事件。

若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。

如果在传输缓冲区中的字符数小于 value,CommEvent 属性设置为 comEvSend,并产生 OnComm 事件。

comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。

例如,如果 Sthreshold 等于 5,仅当在输出队列中字符数从 5 降到 4 时,comEvSend 才发生。

如果在输出队列中从没有比Sthreshold 多的字符,comEvSend 事件将绝不会发生。

Handshake 常数常数值描述comNone 0 无握手。

comXonXoff 1 XOn/Xoff 握手。

comRTS 2 Request-to-send/clear-to-send 握手。

comRTSXOnXOff 3 Request-to-send 和 clear-to-send 握手皆可。

OnComm 常数常数值描述comEvSend 1 发送事件。

comEvReceive 2 接收事件。

comEvCTS 3 clear-to-send 线变化。

comEvDSR 4 data-set ready 线变化。

comEvCD 5 carrier detect 线变化。

comEvRing 6 振铃检测。

comEvEOF 7 文件结束。

Error 常数常数值描述comEventBreak 1001 接收到中断信号comEventCTSTO 1002 Clear-to-send 超时comEventDSRTO 1003 Data-set ready 超时comEventFrame 1004 帧错误comEventOverrun 1006 端口超速comEventCDTO 1007 Carrier detect 超时comEventRxOver 1008 接收缓冲区溢出comEventRxParity 1009 Parity 错误comEventTxFull 1010 传输缓冲区满comEventDCB 1011 检索端口设备控制块 (DCB) 时的意外错误InputMode 常数常数值描述comInputModeText 0 (缺省)通过 Input 属性以文本方式取回数据。

comInputModeBinary 1 通过 Input 属性以二进制方式检取回数据。

CDHolding 属性:通过查询 Carrier Detect (CD) 线的状态确定当前是否有传输。

Carrier Detect 是从调制解调器发送到相联计算机的一个信号,指示调制解调器正在联机。

该属性在设计时无效,在运行时为只读语法 object.CDHolding设置值:CDHolding 属性的设置值为:设置描述True Carrier Detect 线为高电平False Carrier Detect 线为低电平说明:注意当 Carrier Detect 线为高电平 (CDHolding = True) 且超时时,MSComm 控件设置CommEvent 属性为 comEventCDTO(Carrier Detect 超时错误),并产生 OnComm 事件。

注意在主机应用程序中捕获一个丢失的传输是特别重要的,例如一个公告板,因为呼叫者可以随时挂起(放弃传输)。

Carrier Detect 也被称为 Receive Line Signal Detect (RLSD)。

数据类型 BooleanDSRHolding 属性:确定 Data Set Ready (DSR) 线的状态。

Data Set Ready 信号由调制解调器发送到相连计算机,指示作好操作准备。

该属性在设计时无效,在运行时为只读。

语法:object.DSRHoldingobject 所在处表示对象表达式,其值是“应用于”列表中的对象。

DSRHolding 属性返回以下值:值描述True Data Set Ready 线高False Data Set Ready 线低说明:当 Data Set Ready 线为高电平 (DSRHolding = True) 且超时时,MSComm 控件设置 CommEvent 属性为 comEventDSRTO(数据准备超时)并产生 OnComm 事件。

当为 Data Terminal Equipment (DTE) 机器写 Data Set Ready/Data Terminal Ready 握手例程时该属性是十分有用的。

数据类型:BooleanSettings 属性: 设置并返回波特率、奇偶校验、数据位、停止位参数。

语法: object.Settings[ = value]说明:当端口打开时,如果 value 非法,则 MSComm 控件产生错误 380(非法属性值)。

Value 由四个设置值组成,有如下的格式:"BBBB,P,D,S"BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。

相关文档
最新文档