'接收反馈信息
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
' 事件
Case comEvCD ' CD 线的状态发生变化.
Case comEvCTS ' CTS 线的状态发生变化.
Case comEvDSR ' DSR 线的状态发生变化.
Case comEvRing ' Ring Indicator 变化.
Case comEvReceive ' 收到 RThreshold # of
Dim s As String, s2 As String
s = MSComm1.Input
s2 = Trim(s)
If Mid(s2, 1, 1) = Chr(170) Then
s2 = Mid(s2, 2)
End If
Text4.Text = Text4.Text + s2
Case comEvSend ' 传输缓冲区有 Sthreshold 个字符 '
End Select
End Sub
知道的能否将以上代码详细解释以下,及OnComm事件的目的和作用,以及Chr(170) 的含义?
If Mid(s2, 1, 1) = Chr(170) Then
s2 = Mid(s2, 2)
还有上面这句是什么作用?
谢谢各位好心人!
关于VB中MSComm控件的OnComm事件的困惑?
MSComm,它提供了一个 事件OnComm,该事件可以截取串口的任何消息,转入事件处理程序。OnComm事件是唯 一的,OnComm可以捕获通信时发生的串口事件和错误信息,当有串口事件或错误发生时,VB会立刻触发一个OnComm事件,程序就会自动转入 OnComm事件处理程序中。CommEvent属性是OnComm事件的指示器,该属性在设计时不...
VB中mscomm实现pc间的通信的问题
在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。说明 当接收字符后,若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 事件。例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。
麻烦VB高手帮我看看我这个mscomm控件的程序哪里出错了,为什么Private S...
MSComm1.InputLen = 0 ' 告诉控件读入整个缓冲区 MSComm1.PortOpen = True '打开串口 End Sub ‘设置了 MSComm1.RThreshold = 5 ,下面的事件才发送!Private Sub MSComm1_OnComm() '当收到串口返回值时触发这个事件 Text2.Text = "hello!" '为了检测oncomm是否运行!Dim InString As St...
麻烦VB高手帮我看看我这个mscomm控件的程序哪里出错了,为什么Private S...
MSComm1.RThreshold = 5 '***关键:在 MSComm 控件设置 CommEvent 属'性为comEvReceive 并产生 OnComm 之前,设置并返回的要'接收的字符数。 MSComm1.InputLen = 0 ' 告诉控件读入整个缓冲区 MSComm1.PortOpen = True '打开串口End Sub‘设置了 MSComm1.RThreshold = 5 ,下面的事件才发送!Private Sub MSComm...
vb 单片机通信中oncomm事件的问题
RThreshold=10 是当接收到10个字符时触发ONCOMM事件!
我用MScomm控件读取串口的数据,无法触发MSComm1_OnComm事件?
昨天用vb作项目遇到同一问题,后来在发送过程尾部加 doevents 函数解决。oncomm事件在系统执行其他过程时虽然被触发,但代码不会运行,直到其他过程运行结束,所以其他过程发送查询指令后,应当马上挂起,将控制权交给系统,以使oncomm运行代码,否则其他过程结束,oncomm事件也结束了,不知道c有没有doevents,...
重发关于VB中MSCOMM的请教
使用MSCOMM控件的ONCOMM事件完成接收 按照通信协议做好接收代码的算法,编写代码.具体使用ONCOMM事件完成接收的代码可参阅:http:\/\/www.vbgood.com\/viewthread.php?tid=83700的 串口调试软件(改进版)有一个好的通信协议,加上对协议数据帧的正确解析是完成串口通信的基础....
VB中使用mscomm时的延时问题
你可直接使用MSComm控件的OnComm事件接收,若按9600BIT,基本每秒能接收960字节数据,即使250毫秒中也能收取240个字节数据:Option Explicit Dim BytReceived() As Byte Dim strData As String Dim lenInput As Integer Private Sub Form_Load()MSComm1.CommPort = ...
VB中 MSCOMM接收数据的困惑 望高手
Private Sub MSComm1_OnComm()Dim strBuff As String Dim str() As Byte Dim i Dim strData As String Select Case MstringSComm1.CommEvent Case comEvReceive Text1 = ""MSComm1.InputLen = 0 strBuff = MSComm1.Input str() = strBuff '接收数据处理为16进制 For i = 0 To UBound(str...
vb做的mscomm通讯的问题
既然是通信程序,为何会发生电脑休眠?LZ:应该从这寻找原因,加以解决.补充:既然是用于工控,应该设置机器不休眠,不关闭硬盘.只能设置屏保或关闭显示器.当机器处于休眠.通信被迫中断,会引起各类通信故障.