VB串口数据接收

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:30:34
单片机发送给电脑的数据为a,b(数据均为16进制),为防止干扰,在数据的首尾加上FE,FD用于验证,如何能够安全的接收到a,b数据?请帮忙写出代码,谢谢~
看到网上有这种解决方法
Private Sub MSComm1_OnComm() '接收数据
Dim BytReceived() As Byte
Dim strBuff As String
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
strData = strData & MSComm1.Input
'数据处理代码
If Left(strData, 1) = "#" And Right(strData, 1) = "!" Then
Text1 = strData
Else
strData = ""
End If
End Select
End Sub
但是这种解决方式是没有读到正确的首帧和尾帧则strData=""
我的单片机是连续发送数据,所以有时候可能有干扰,如FE前面有00或其他的干扰的数据,那样这一组数据就不能读取了吗?
怎样才能排除干扰,将发出的a,b数据完整的读出来?
请达人帮忙解决下,谢谢

设置 RThreshold 为 4,这样和你的数据个数 匹配 :FE a b FD

接收到后 判断 FE 和 FD

都有的话,数据完整,取 a b 的值!

祝你顺利

串口我没写过