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
Hallo aaron, ich arbeite auch zur Zeit an einem ähnlichen Projekt, arbeite jedoch mit c#. wie leistest du die Daten weiter an Pc, als Rohwerte, char ....?? schau dir auch diesen Thread an, sind paar gute Tipps drin. Beitrag "C# Serialport-Falsche Werte"
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
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?
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
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....
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.