Недавно мы подключили одно устройство Bluetooth, которое получает данные от нашего последовательного устройства. Устройство bluetooth далее передает эти данные в Windows Mobile, который поддерживает Bluetooth. Скорость передачи всей системы составляет 19200 с 7 битами данных и 1 стоповым битом. Когда мы отправляем команду на последовательное устройство через устройство Bluetooth, она принимает команду и отвечает соответственно. но некоторые данные байта строки обозначаются как вопросительный знак (?).
Но если мы подключаем последовательное устройство напрямую к ПК, полученная строка верна.
Код программы vb.net, которую я запускаю в Windows Mobile, приведен ниже:
Imports System
Imports System.IO.Ports
Imports System.Windows.Forms.TextBox
Public Class frmSelectComPort
Dim WithEvent port1 as serialport = _
New SerialPort(“Com2”,19200,Parity.Even, 7, StopBits.One)
Private Sub MnuConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuConnect.Click
If port1.IsOpen Then
port1.Close()
End If
port1.DtrEnable = True
port1.RtsEnable = True
port1.ReceivedBytesThreshold = 1
port1.Open()
Dim str1,strcmd,strReadSegment0 As String
Str1="09RD000001"
strchksum=23
strcmd = New String(Chr(2) + str1 + Chr(3) + strchksum) + Chr(0)
Delay(5000)
port1.Write(strcmd, 0, strcmd.Length)
System.Threading.Thread.Sleep(70)
Delay(2000)
strReadSegment0 = port1.ReadExisting
‘here I receive the following string "?09?D03?A D?
End Sub
Private Sub Delay(ByVal num As Double)
Dim i As Double
For i = 0 To num
Next
End Sub
End Class
Команде, данной последовательному порту, является "09RD000001 23
Ответ от последовательного порта: «? 09? D03? A D?
Но я ожидаю следующий вход от последовательного порта: "09RD033A DA
Просьба предоставить решение как можно скорее