首页 mscomm32控件属性

mscomm32控件属性

举报
开通vip

mscomm32控件属性mscomm32控件属性 ---- 1、 常用属性 CommPort:设置或返回串行端口号,缺省为1。 Setting:设置或返回串行端的波特率、奇偶校验位、 数据位数、停止位。缺省值为"9600,N,8,1"。 PortOpen:设置它为True则打开端口,设置它为False则关闭端口。 InBufferSize:设置或返回接收缓冲区的大小,缺省为1024 字 节。 InBufferCount:返回接收缓冲区内的等代读取的字节个数,设属性为0清除接收缓冲区。 OutBufferSize:设置或返回发送...

mscomm32控件属性
mscomm32控件属性 ---- 1、 常用属性 CommPort:设置或返回串行端口号,缺省为1。 Setting:设置或返回串行端的波特率、奇偶校验位、 数据位数、停止位。缺省值为"9600,N,8,1"。 PortOpen:设置它为True则打开端口,设置它为False则关闭端口。 InBufferSize:设置或返回接收缓冲区的大小,缺省为1024 字 节。 InBufferCount:返回接收缓冲区内的等代读取的字节个数,设属性为0清除接收缓冲区。 OutBufferSize:设置或返回发送缓冲区,缺省为512字节。 OutBufferCounter:返回发送缓冲区内等待发送的字符数,可用0来清空缓冲区。 Output:向发送缓冲区传送数据 RThreshold: 该属性确定当接收缓冲区内字节个数达或超过该值后就产生代码为ComEventReceive 的OnComm事件,设置位0,则不产生OnComm事件。 CommEvent:有通讯错误或事件发生时产生OnComm事件,CommEvent事件的值可以用来确定引 发OnComm事件的具体的错误或事件常用的有以下几种(更详细的资料可参考MSComm控件帮助文件) ComEventbreak:接受到中断信号 ComEventFrame:硬件检测到帧错误。 ComEventRxOver:接收缓冲区溢出。 ComEventTxFull:发送缓冲区溢出。 ComEventReceive:接受到规定的字符数。 InputLen:设置或返回接收缓冲区内用Input读入的个数。若取0,则读取整个缓冲区的内容。 Input:返回并删除接受缓冲区的数据。 ---- 2、 示例: ---- 下面举一接收程序示例:制作一通讯接收窗口,选择菜单 Controls?OLE?Insert Control?Microsoft Communications Control, ---- 在窗口中出现通信控件图标单击鼠标右键,选择OCX Properties设置常用属性,也可在程序中进行设置 窗口的Open事件程序如下 ole_1.object.CommPort=2 ole_1.object.Settings="9600,N,8,1" ole_1.object.PortOpen=ture ole_1.object.Rthreshold=10 ole_1.object..Inputlen=0 . . 通信控件的oncomm事件的程序如下 choose case ole_1.object.CommEvent case comEventBreak //接收到中断信号 case comEventCDTO //处理CD超时 . . . case comEvReceive sle_1.text=ole_1.object.Input . . end choose 利用Microsoft公司提供的通讯控件 利用Microsoft公司提供的通讯控件(Mscomm.vbx,用于16位通讯程序、Mscomm32.ocx用于开发32位通讯程序)可方便实现串口通讯。 1、常用属性 CommPort:设置或返回串行端口号,缺省为1。 Setting:设置或返回串行端的波特率、奇偶校验位、数据位数、停止位。缺省值为"9600,N,8,1"。 PortOpen:设置它为True则打开端口,设置它为False则关闭端口。 InBufferSize:设置或返回接收缓冲区的大小,缺省为1024 字 节。 InBufferCount:返回接收缓冲区内的等代读取的字节个数,设属性为0清除接收缓冲区。 OutBufferSize:设置或返回发送缓冲区,缺省为512字节。 OutBufferCounter:返回发送缓冲区内等待发送的字符数,可用0来清空缓冲区。 Output:向发送缓冲区传送数据 RThreshold: 该属性确定当接收缓冲区内字节个数达或超过该值后就产生代码为ComEventReceive的OnComm事件,设置位0,则不产生OnComm事件。 CommEvent事件的值可CommEvent:有通讯错误或事件发生时产生OnComm事件, 以用来确定引发OnComm事件的具体的错误或事件常用的有以下几种(更详 细的资料可参考MSComm控件帮助文件) ComEventbreak:接受到中断信号 ComEventFrame:硬件检测到帧错误。 ComEventRxOver:接收缓冲区溢出。 ComEventTxFull:发送缓冲区溢出。 ComEventReceive:接受到规定的字符数。 InputLen:设置或返回接收缓冲区内用Input读入的个数。若取0,则读取整个缓冲区的内容。 Input:返回并删除接受缓冲区的数据。 2、 示例: 下面举一接收程序示例:制作一通讯接收窗口,选择菜单 Controls?OLE?Insert Control?Microsoft Communications Control,在窗口中出现通信控件图标单击鼠标右键,选择OCX Properties设置常用属性,也可在程序中进行设置窗口的Open事件程序如下 ole_1.object.CommPort=2 ole_1.object.Settings="9600,N,8,1" ole_1.object.PortOpen=ture ole_1.object.Rthreshold=10 ole_1.object..Inputlen=0 . . 通信控件的oncomm事件的程序如下 choose case ole_1.object.CommEvent case comEventBreak //接收到中断信号 case comEventCDTO //处理CD超时 . . . case comEvReceive sle_1.text=ole_1.object.Input . . end choose 以上是一个基本的例子,在实际应用过程中应根据不同的情况进行不同的设计,如波特率、帧格式等。 总之,利用以上方法可以方便的在PowerBuilder中进行串口通讯,并对接收的数据利用PowerBuilder进行数据处理。 一。设置和打开 MSComm1.CommPort = 1 -----设置通讯用串口为1号串口 MSComm1.Settings = "9600,n,8,1" -----设置频率,校验位等信息 MSComm1.InputMode = comInputModeBinary ------输入类型为2进制 MSComm1.PortOpen = True ------打开串口 二。关闭 MSComm.PortOpen = False 三。发送数据 Dim outbte(0) As Byte ----二进制数组 outbte(0) = &H8 ----十六进制的8 MSComm1.OutBufferCount = 0 -----手动清一下缓存 MSComm1.Output = outbte ------发送数组 四。接收一组数 Dim i as integer Dim j as integer Dim inbte As Variant Dim temp_votage(5) ----每组5个数 inbte = MSComm1.Input j=1 For i = LBound(inbte) To UBound(inbte) temp_votage(j) = inbte(i) j=j+1 Next i
本文档为【mscomm32控件属性】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_601191
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:0
分类:工学
上传时间:2017-10-01
浏览量:29