vb 串口接受ascii

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:35:06
我现在要用VB接受一个设备的数据,设备协议如下,数据格式10位,其中一个起始位(0),8为数据位(ASCII码,低位在前),一个停止位,无奇偶检验位。一帧的顺序如下:
1 2 3 4 5 6 7 8 9 10 11 12
型号 - * + 数据 数据 小数点 数据 数据 单位 回车 换行

我在串口调试工具上收到的数据是
J-*+ 0.05g // J是型号 空格没有数据
J-*+ 0.05g

请问如果我自己编写VB接受,选择按文本格式传递,也可以直接接受以上数据???还是要按二进制接受然后自己每一位自己组装????

如果用文本可以接受以上全部信息,那我只想采集后面的重量,代码要怎么写???

谢谢
还有要是按文本接受,是不是要这么做
Dim a as string
a = Mscomm1.input
就是全数据都是以字符串形式发过来的,我可以用这一句话接收一帧数据???

Option Explicit
Dim strinput As String

Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeText
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
MSComm1.InputLen = 0
strinput = strinput & MSComm1.Input
If Len(strinput) = 12 And Right(strinput, 2) = vbCrLf Then
Text1 = Left(strinput, 10)
strinput = ""
End If
End Select
End Sub

Private Sub commMain_OnComm()
'接受数据
On Error Resume Next
Static strRec As String
Dim inData As String

Select Case commMain.CommEvent '选择事件
Case comEvReceive '接收到字符
Dim InByte() As Byte '定义一个二进制指针放接收到的数据
InByte = commMain.In