vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Mehrere Befehle über RS232 senden/empfangen 
Autor: Preisser
Datum: 08.07.12 14:06

Hallo,

Bibobernie schrieb:
Zitat:

Naja, ich empfange die Daten derzeit nicht über den Thread
sondern über ein Datarecive in dem ich alle existierenden
Zeichen einlese und an die Methode zum zusammenfügen
übergebe. Daher prüfe ich dort ob ein Empfangener String auch
Chr(13) enthält. Ich dachte zuerst auch das ich durch das
"If Buffer.Contains(Chr(13)) Then" unter Umständen
ein oder mehrere Zeichen übersehen könnt. Da das Datarecive
aber nach jedem Zeichen diese Methode aufzurufen scheint
hatte ich bis jetzt damit keine Probleme.

Ja, vermutlich funktioniert es meistens, weil das Gerät immer eine Nachricht absendet und eine Pause macht, bevor es eine weitere absendet - dann wird man das einzelne Paket meistens auch als solches empfangen. Trotzdem könnte es aber auch passieren, wenn das Gerät zwei Nachrichten schnell hintereinander abschickt, dass diese dann "in einem Rutsch", also in einem Paket, ankommen (oder, wenn eine Nachricht sehr groß ist, dass diese in mehreren Paketen ankommt).
Es handelt sich ja beim SerialPort um eine stream-basierte Kommunikation, nicht message-basiert, sodass man sich selbst darum kümmern muss, die einzelnen Nachrichten korrekt zu interpretieren.

Deshalb müsste man eigntlich immer beim Trennzeichen (13) den String splitten, und falls am Ende kein Trennzeichen stand, den hinteren Teil wieder an den Puffer anhängen, damit dieser für das nächste Datenpaket noch zur Verfügung steht. Wie gesagt, die SerialPort.ReadTo(...)-Methode erledigt das aber bereits .

Zitat:

An sowas hatte ich auch gedacht allerdings habe ich ja zusätzlich das Datarecive-Event aktiviert. Wenn ich dann versuche im Thread mittels ReadTo die Antwort auszulesen kommt es da nicht zu eventuellen Redundanzen? Also das ich zuerst z.B. firstAnswer einlesen kann aber das Datarecive Event danach auch noch einmal den Empfangenen String bearbeitet. Oder gibt es eine Möglichkeit solche Events temporär, z.B. für die Dauer einer Methode, zu deaktivieren?

Naja, wenn du die Methode mit dem separaten Stream verwendest, darfst du eben einfach keinen Handler zum DataReceived-Event hinzufügen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mehrere Befehle über RS232 senden/empfangen5.229Bibobernie29.06.12 11:47
Re: Mehrere Befehle über RS232 senden/empfangen4.108Bibobernie29.06.12 11:50
Re: Mehrere Befehle über RS232 senden/empfangen3.913Bibobernie29.06.12 15:16
Re: Mehrere Befehle über RS232 senden/empfangen3.996Bibobernie30.06.12 17:01
Re: Mehrere Befehle über RS232 senden/empfangen3.929xirton30.06.12 17:10
Re: Mehrere Befehle über RS232 senden/empfangen4.021Bibobernie30.06.12 17:58
Re: Mehrere Befehle über RS232 senden/empfangen4.061xirton30.06.12 18:10
Re: Mehrere Befehle über RS232 senden/empfangen3.959Preisser30.06.12 20:07
Re: Mehrere Befehle über RS232 senden/empfangen3.936xirton30.06.12 20:15
Re: Mehrere Befehle über RS232 senden/empfangen4.039Bibobernie01.07.12 13:49
Re: Mehrere Befehle über RS232 senden/empfangen3.906Bibobernie06.07.12 14:45
Re: Mehrere Befehle über RS232 senden/empfangen3.868xirton06.07.12 15:31
Re: Mehrere Befehle über RS232 senden/empfangen3.998Bibobernie06.07.12 16:41
Re: Mehrere Befehle über RS232 senden/empfangen3.905xirton06.07.12 16:54
Re: Mehrere Befehle über RS232 senden/empfangen3.993Preisser06.07.12 17:12
Re: Mehrere Befehle über RS232 senden/empfangen3.834xirton06.07.12 17:14
Re: Mehrere Befehle über RS232 senden/empfangen3.881Preisser06.07.12 17:00
Re: Mehrere Befehle über RS232 senden/empfangen3.905Bibobernie06.07.12 20:59
Re: Mehrere Befehle über RS232 senden/empfangen3.973Bibobernie08.07.12 00:01
Re: Mehrere Befehle über RS232 senden/empfangen4.056Preisser08.07.12 03:20
Re: Mehrere Befehle über RS232 senden/empfangen3.974Bibobernie08.07.12 10:29
Re: Mehrere Befehle über RS232 senden/empfangen3.890Preisser08.07.12 14:06
Re: Mehrere Befehle über RS232 senden/empfangen3.896Bibobernie09.07.12 22:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel