登录
首页 PLC论坛 欧姆龙OMRON
回帖 发帖
正文

主题:[求助]PC与CMP1A串口通讯问题

点击:1480 回复:4

在文本框1里写数据,按发送按钮,然后再下面的文本框2里显示,一直搞不定。请高手指点。
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,E,7,1"
MSComm1.PortOpen = True
End Sub
Private Sub Command1_Click()
Dim OutputStr As String
Dim send  As String
send=Text1.Text
MSComm1.OutBufferCount = 0
OutputStr=send+FCS(send)+“*”这句话老是显示红色。不知道问什么
MSComm.Output = OutputStr + Chr$(13)
End Sub
Private Sub MSComm1_OnComm()
Dim InputStr As String
Select Case MSComm1.CommEvent
Case comEvReceive
InputStr = MSComm.Input
Text2.Text = InputStr
MSComm1.InBufferCount = 0
End Select
End Sub
06-06-15 09:25
你要设置MSComm.RTHreshold=1作为接收字节数引发Comm事件的标志
06-06-15 10:57
OutputStr=send+FCS(send)+“*”这句话老是显示红色。不知道问什么
FCS函数写了没?
06-06-15 13:15
新写出来的是这样的,帮我改改吧。我搞不通
Private Sub Command1_Click()
Dim OutputStr As String
Dim send  As String
send = "@00RR0000001"
MSComm1.OutBufferCount = 0
OutputStr = send + FCS(send) + "*"
MSComm1.Output = OutputStr + Chr$(13)
End Sub
Private Sub MSComm1_OnComm()
Dim InputStr As String
Select Case MSComm1.CommEvent
Case comEvReceive
InputStr = MSComm1.Input
Text1.Text = InputStr
End Select
End Sub
Function FCS(ByVal InputStr As String) As String
Dim Slen, i, Xorresult As Integer
Dim Tempfes As String
Slen = Len(InputStr)
Xorresult = 0
For i = 1 To Slen
Xorresult = Xorresult Xor Asc(Mid$(InputStr, i, 1))
Next i
Tempfes = Hex$(Xorresult)
If Len(Tempfes) = 1 Then Tempfes = "0" + Tempfes
FCS = Tempfes
End Function
Private Sub List1_Click()
End Sub
Private Sub Option1_Click()
If MSComml.PortOpen = False Then
MSComm1.Settings = "9600,n,8,2"
MSComml.CommPort = 1
End If
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
End Sub
Private Sub Option2_Click()
If MSComml.PortOpen = False Then
MSComm1.Settings = "9600,n,8,2"
MSComml.CommPort = 2
End If
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
End Sub
Private Sub tt_Click()
Unload Form1
End
End Sub
06-06-15 15:41
我有例子.TEL:13636962573
06-06-29 09:37

工控新闻

更多新闻资讯