怎样用VB实现RS232接口通信

来源:百度知道 编辑:UC知道 时间:2024/05/09 15:40:13
发送的命令格式为
字节位置 含义 数据 说明
1,2 帧头 0xAA 0xAA
3 数据长度 0x04 除帧头外数据长度
4 传感器地址0X02 232输出方式地址为2
5 命令 0xxx 命令罗盘输出数据帧
6 效验字 前面全部数据的异或结果
求怎样用MSComm控件实现命令。
不甚感谢!
我的程序是这样的:
Private Sub Command9_Click()
Dim b(4) As Byte
b(0) = &HAA
b(1) = &HAA
b(2) = &H4
b(3) = &H2
b(4) = &H1
MSComm1.Output = b()
buf = MSComm1.Input
Text1.Text = buf
End Sub
我用F8调试,运行到MSComm1.output=b()这一步,显示的是
MSComm1.output=<属性只写>,buf值是空的
是什么原因啊?

VB可以使用MsComm控件来实现串口通信。

MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。

MSComm 控件提供下列两种处理通讯的方式:


事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在 Carrier Detect (CD) 或
Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的 OnComm
事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent
属性。

OnComm 事件

无论何时当 CommEvent 属性的值变化时,就产生 OnComm 事件,标志发生了一个通讯事件或一个错误。

OnComm 事件示例


下例说明如何处理通讯错误和事件。可以在相关的 Case 语句之后插入代码来处理特定的错误或事件。

Private Sub MSComm_OnComm()
    Select Case MSComm1.CommEvent
    ' 错误
        Case comEventBreak   ' 收到 Break。
        Case comEventCDTO   ' CD (RLSD) 超时。
       &nb