需要利用MSCOMM控件,进行串口通信,发送和接收一些数据。
数据格式:02 31 33 31 30 30 30 30 30 30 30 30 31 32 33 34 03 34 每一个数据都是16进制的。
在发送数据之后,还需要接收对方返回的数据,在利用 MSCOMM 收发数据时,有两种办法轮询和事件的方式操作数据,利用哪一种方式好一些?(需要发送数据之后,接收到对方返回过来的一定的信息,根据这个信息的内容,决定下一步的操作)
数据格式:02 31 33 31 30 30 30 30 30 30 30 30 31 32 33 34 03 34 每一个数据都是16进制的。
在发送数据之后,还需要接收对方返回的数据,在利用 MSCOMM 收发数据时,有两种办法轮询和事件的方式操作数据,利用哪一种方式好一些?(需要发送数据之后,接收到对方返回过来的一定的信息,根据这个信息的内容,决定下一步的操作)
基于VB6.0的MSComm通信方法设计
1)在窗体中添加名为MyComm的MSComm控件,并设置空间的属性,如下:.CommPort=2 '使用COM2
.Setting="9600,e,7,1" '波特率9600,偶校验,7个数据位,1个停止位
.InBufferSize=40 '设置MyComm接收缓冲区为40个字节
.OutBufferSize=2 '设置MyComm发送缓冲区为2个字节
.InputMode=comInputModeBinary
'设置接收数据模式为二进制模式
.InputLen=1 '设置一次从接收缓冲区读取字节数为1
.Sthreshold=1 '设置一次从发送缓冲区读取字节数为1
.PortOpen=True '打开通信口'其他属性设置省略
(2)下面是响应Mycomm_OnComm事件的处理程序,对数据库采集的处理程序采用MSComm事件驱动方式。Private Sub MyComm_OnComm()
With MyComm
Select case .CommEvent
Case .comEvReceive
' 接收数据
' 对数据进行处理
case .comEVSend
'发送数据
case .comEventRxParity
'对奇偶校验错误进行处理
end select
end with
end sub