Dim STX
Dim ETX
Dim HOUSE(16)
Dim UNIT(16)
Dim FUN(7)
Dim LENGTH(3)
Private Sub Form_Load()
   Call init
   'MSComm1.PortOpen = False
   Combo1.Clear
   Combo2.Clear
   Dim a
   'Count = 0
   For i = 65 To 81
     a = Chr(i)
     Combo1.AddItem (a)
   Next
   For i = 49 To 65
     a = Chr(i)
     Combo2.AddItem (a)
   Next
   
   MSComm1.CommPort = 1
   If MSComm1.PortOpen = False Then
      MSComm1.PortOpen = True
   End If
   
   
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
  Text1.Text = "正在接受数据"
Case comEvSend
  Text1.Text = "正在发送数据个数" & MSComm1.OutBufferCount
'此处的代码可以进行当串口的发送缓冲区里有SThreshold个字符的处理
'List1.AddItem "发送缓冲区有数据"
End Select
     
End SubPrivate Sub open_Click()
    If MSComm1.PortOpen = False Then
       MSComm1.PortOpen = True
    End If
    Label3.Caption = Combo1.ListIndex
    Label4.Caption = Combo2.ListIndex
    If Combo1.ListIndex >= 0 And Combo2.ListIndex >= 0 Then
      MSComm1.Output = STX & LENGTH(0) & HOUSE(Combo1.ListIndex) & UNIT(Combo2.ListIndex) & FUN(0) & ETX
      MsgBox (STX & LENGTH(0) & HOUSE(Combo1.ListIndex) & UNIT(Combo2.ListIndex) & FUN(0) & ETX)
    Else
       MsgBox ("请选择房间号和单元号")
    End If
    
End SubPrivate Sub init()
   STX = "00000010"
   ETX = "00000011"
   HOUSE(0) = "01100100"        'a
   HOUSE(1) = "11100100"        'b
   HOUSE(2) = "00100100"        'c
   HOUSE(3) = "10100100"        'd
   HOUSE(4) = "00010100"        'e
   HOUSE(5) = "10010100"        'f
   HOUSE(6) = "01010100"        'g
   HOUSE(7) = "11010100"        'h
   HOUSE(8) = "01110100"        'i
   HOUSE(9) = "11110100"        'j
   HOUSE(10) = "00110100"       'k
   HOUSE(11) = "10110100"       'l
   HOUSE(12) = "00000100"       'm
   HOUSE(13) = "10000100"       'n
   HOUSE(14) = "01000100"       'o
   HOUSE(15) = "11000100"       'p
   UNIT(0) = "01100000"         '1 unin
   UNIT(1) = "11100000"         '2
   UNIT(2) = "00100000"         '3
   UNIT(3) = "10100000"         '4
   UNIT(4) = "00010000"         '5
   UNIT(5) = "10010000"         '6
   UNIT(6) = "01010000"         '7
   UNIT(7) = "11010000"         '8
   UNIT(8) = "01110000"         '9
   UNIT(9) = "11110000"         '10
   UNIT(10) = "00110000"        '11
   UNIT(11) = "10110000"        '12
   UNIT(12) = "00000000"        '13
   UNIT(13) = "10000000"        '14
   UNIT(14) = "01000000"        '15
   UNIT(15) = "11000000"        '16
   FUN(0) = "00101000"          'ON
   FUN(1) = "00111000"          'off
   FUN(2) = "01001000"          'dim
   FUN(3) = "01011000"          'reight
   FUN(4) = "00011000"          'ALL LIGHTS ON
   FUN(5) = "00001000"          'all unin on
   FUN(6) = "01101000"          'all lights off
   LENGTH(0) = "00000011"       '3
   LENGTH(1) = "00000010"       '2
   LENGTH(2) = "00000001"       '1
End Sub
这个是程序
我是想问一下 为什么我的消息没有发出去啊 ???因为 Text1.Text没有显示 正在发送数据
 MSComm1.OutBufferCount
是不是mscomm.portopen = true 
   MSComm1.Output="111111"
计算机是不是会自动发数据到串行口的啊 ???
还是要mscomm1.input来接受的啊???