Private Sub Command1_Click()
MSComm1.SThreshold = 8 '1B 7C 77 A0 30 54 57 15
MSComm1.Output = Chr(&H1B) & Chr(&H7C) & Chr(&H77) & Chr(&HA0) & Chr(&H0) & Chr(&H0) & Chr(&H0) & Chr(&H0)End SubPrivate Sub Command2_Click()
Dim oldtime As Single
Dim i As Integer
MSComm1.SThreshold = 3
MSComm1.Output = Chr(&H1D) & Chr(&H49) & Chr(&H1)
' Chr (&H1D) & Chr(&H49) & Chr(&H1) HData = ""
oldtime = Timer
i = 0
Do
DoEvents
If Timer < oldtime Then oldtime = Timer
If Timer - oldtime > 0.1 Then
i = i + 1
oldtime = Timer
End If
Loop Until (i >= 5) If HData = "CFABA8EA" Then
MsgBox "初始化保单箱成功"
Else
MsgBox "初始化保单箱失败"
End If
End SubPrivate Sub Form_Load()
MSComm1.CommPort = 3 '设置串口
MSComm1.Settings = "9600,N,8,1" '波特率:9600 奇校验,8位数据,1位停止位
MSComm1.InBufferSize = 255 '设置接收缓冲区为256字节
MSComm1.OutBufferSize = 255 '设置发送缓冲区为256字节
MSComm1.SThreshold = 1 '发送缓冲区空不触发发送事件
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.InputLen = 1 '每次读取接收缓冲区的字符个数
MSComm1.InputMode = comInputModeBinary
MSComm1.RThreshold = 1 '收到一个字节后触发接收事件
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True '//打开串口
End SubPrivate Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End SubPrivate Sub MSComm1_OnComm() Dim BytesReceived() As Byte
Dim buffer As String Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive
MSComm1.InputLen = 0 '接收十六进制数据。并以十六进制显示
buffer = MSComm1.Input '接收数据至字符串中
BytesReceived = buffer '将数据转入Byte数组中
For i = 0 To UBound(BytesReceived) '显示结果以十六进制显示
If Len(Hex(BytesReceived(i))) = 1 Then
HData = HData & "0" & Hex(BytesReceived(i))
Else
HData = HData & Hex(BytesReceived(i))
End If
Next
MSComm1.InBufferCount = 0 '清除接收缓冲区
' MSComm1.OutBufferCount = 0 '清除发送缓冲区
Case comEvSend
MSComm1.OutBufferCount = 0 '清除发送缓冲区
End SelectEnd Sub
问题 MSComm1.SThreshold = 8 '1B 7C 77 A0 30 54 57 15
MSComm1.Output = Chr(&H1B) & Chr(&H7C) & Chr(&H77) & Chr(&HA0) & Chr(&H0) & Chr(&H0) & Chr(&H0) & Chr(&H0) 这个发送怎么老是不成功 而且会有一个 振铃事件
高手帮忙一下 郁闷中~~~
Private Sub Command1_Click()
'MSComm1.SThreshold = 8 '1B 7C 77 A0 30 54 57 15
Dim bytSendData() As Byte
ReDim bytSendData(7)
bytSendData(0) = &H1B
bytSendData(1) = &H7C
bytSendData(2) = &H77
bytSendData(3) = &HA0
bytSendData(4) = &H30
bytSendData(5) = &H54
bytSendData(6) = &H57
bytSendData(7) = &H15
If MSComm1.PortOpen = True Then
MSComm1.Output = bytSendData()
End If
End Sub
http://download.csdn.net/source/1262066