Hallo forumleden,
Ik ben bezig met het programmeren van een eigen programma in visual basic. Ik heb nog niet echt veel ervaring en daarom stuit ik op het volgende probleem.
Ik maak een verbinding tussen een apparaat via rs232. Vervolgens verzend ik een instructie waarin het apparaatadres staat en het adres dat ik wil opvragen. Vervolgens krijg ik een antwoord terug in deze vorm:
14
03
02
08
EA
33
C8
Voor mij zijn alleen de data bytes interessant en dat is in dit geval 08 (highbyte) en EA (lowbyte). Ik wil dus graag deze databytes achterelkaar op de WriteLine zien. Daarna moeten ze ook weer omgezet worden in decimaal, maar dat is voor later.
De code die ik gebruik is als volgt:
Ik hoop dat jullie mij op weg kunnen helpen.
Alvast bedankt!
Ik ben bezig met het programmeren van een eigen programma in visual basic. Ik heb nog niet echt veel ervaring en daarom stuit ik op het volgende probleem.
Ik maak een verbinding tussen een apparaat via rs232. Vervolgens verzend ik een instructie waarin het apparaatadres staat en het adres dat ik wil opvragen. Vervolgens krijg ik een antwoord terug in deze vorm:
14
03
02
08
EA
33
C8
Voor mij zijn alleen de data bytes interessant en dat is in dit geval 08 (highbyte) en EA (lowbyte). Ik wil dus graag deze databytes achterelkaar op de WriteLine zien. Daarna moeten ze ook weer omgezet worden in decimaal, maar dat is voor later.
De code die ik gebruik is als volgt:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Public Shared Sub Read() Dim rcvBuf(_serialPort.ReadBufferSize) As Byte Dim message As Integer = Int32.MinValue While (_continue) Try message = _serialPort.Read(rcvBuf, 0, 1) Dim res As New StringBuilder() For i As Integer = 0 To message Step 2 res.Append(rcvBuf(i).ToString("X2")) Next Console.WriteLine(res.ToString()) Catch ex As TimeoutException ' Do nothing End Try End While End Sub |
Ik hoop dat jullie mij op weg kunnen helpen.
Alvast bedankt!