7,785
社区成员




MSComm1.CommPort = 3
'初始化串口
Private Sub iniMscomm()
On Error Resume Next
'=====-----初始化通信串口-----=====
MSComm1.CommPort = 4 '使用 COM4
MSComm1.Settings = "9600,N,8,1" '9600 波特,无奇偶校验,8 位数据,一个停止位
MSComm1.PortOpen = True '打开端口
MSComm1.RThreshold = 1 '缓冲区有1个字节就产生OnComm事件
MSComm1.InputLen = 0 '为 0 时,使用 Input 将使 MSComm 控件读取接收缓冲区中全部的内容。
MSComm1.InputMode = comInputModeText 'Input以二进制形式取回用comInputModeBinary,以文本形式取回是comInputModeText
MSComm1.RTSEnable = True
MSComm1.InBufferCount = 0 '清空缓冲区
End Sub
Private Sub Form_Load()
iniMscomm '初始化通信串口
End Sub
Private Sub Command1_Click() '发送数据
MSComm1.Output = "@@TB13800311500B"
End Sub
Private Sub MSComm1_OnComm()'接收数据
Dim t1 As Long, str1 As String
t1 = Timer
Select Case MSComm1.CommEvent
Case comEvReceive '收到 RThreshold定义的字符数1字节
Do
DoEvents
Loop While Timer - t1 < 1.5
com_String = MSComm1.Input
End Select
End Sub