Comport und vb.net -> newbie braucht Hilfe!

OP #2604080
Lesenswert?

Hallo zusammen,

ich programmiere seit etwa 2 Jahren in vb.net und habe gerade ein tolles 
Projekt gestartet. Ich möchte Daten meiner RC-Fernsteuerung (MX12) auf 
dem PC anzeigen lassen.
Dazu gibt es ein USB Interface von Silicon Labs (cp210x USB to UART 
Bridge)
Von dieser USB Bridge geht ein 3 Poliger Stecker zur Fernsteuerung (S 
+5V GND).
Nun kann man der Funke eine Reihe von Daten senden, damit diese darauf 
einen Request macht und mir die Telemetriedaten über die USB 
Schnittstelle bereit stellt.
Das Ganze Ding wird als COM Port erkannt, kann also über einen 
SerialPort in vb.net auf die Sache zugreifen.

Mein Problem ist es, dass das alles Neuland für mich ist und ic keine 
wirkliche Idee habe wie man soetwas angeht (Kommando senden, Daten 
lesen, Daten verarbeiten).

Ich wäre für jede Hilfe Dankbar.
Ich weiß vb.net ist nicht die super tolle Sprache aber es geht auch 
damit.

Gruß
aaron
#2604172
Lesenswert?

Aaron Scherr schrieb:
> Also das Grundproblem besteht erst mal darin wie man da überhaupt
> anfängt, ich weiß nicht wo ich anfangen soll weil ich keine Ahnung von
> Schnittstellen also USB und Seriell habe

wie du ein seriellen port öffnest und daten holst findest du hier,

http://msdn.microsoft.com/de-de/library/system.io.ports.serialport.open.aspx

hier:
Beitrag "SerialPort bei Visual Basic 2005"

oder hier:
http://www.tutorials.de/net-cafe/249226-vb-net-projekt-mit-serialport-und-datenerfassung.html

wichtiger ist, als was du die Daten bekommst, Ascii.zeichen oder rohe 
Daten.
und wenn die paketweise übertragen werden, wie kannst du den den Anfang 
eines neuen Pakets erkennen?
#2607723
Lesenswert?

Aaron Scherr schrieb:
> Um einen Request zu bekommen muss man an die Funke das hier senden:
> 0x00 0x03 0xfc 0x00 0x00 0x04 0x36 0x51 0x9a
> Danach kommen Daten auch wieder so zurück....
> Der Paketanfang ist immer 0x00
Hallo Aaron,

falls du noch da bist!!!
Die ankommende Daten kannst du als String mit
readExisiting() oder byteweise mit readbyte() in eine Liste speichern, 
dann brauchst du nur noch einen Algorithmus der immer wieder beim 
Datenempfang
nach bestimmten Bytes-Muster sucht, wenn 0x00 NUR einmal in einem PAket 
vorkommt, dann immer nach 0x00 suchen, den index abspeichern und nach 
nächste 0x00 suchen, index abspeichern, 2. index vom ersten abziehen und 
die anzahl bytes aus der Lsite entfernen....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren