INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Synchronisation bei serieller Schnittstelle über lange Zeiträume



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.10.2009, 16:13
Beitrag #3

pax Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Oct 2009

8.5
2008
de

1069
Deutschland
Synchronisation bei serieller Schnittstelle über lange Zeiträume
Hallo,

ich arbeite schon nach der 2. Methode mit TermChar und habe fürs GPS heute anscheinend meinen Fehler gefunden, nach 15min war entweder 1 GPS-Satz verschluckt oder die Zeit um 0.1s auseinandergelaufen, aber das ist mir genau genug. Das Problem am Anfang war, das die 3 Nmea-Sätze GGA,GST sowie RMC in keiner geordneten Reihenfolge, jedoch meist als Packet zeitlich nah zusammenhängend gesendet werden. Bei einer Main-Loop-Time von 0.1s bei gleicher GPS-Rate habe ich nun entweder Glück und alles passt ins Zeitfenster oder eben nicht. Läuft es einmal synchron dann ist das auch stabil. Also hab ich für die ersten 4s ein Zeitfenster zum Initialisieren eingeräumt, in dem ich bei Asynchronität eine Änderung der Main-Loop-Time um 80ms zulasse, dann fängt sich das ganze recht schnell. Leider war irgendwo noch ein leeres VISA-Read dazwischen, das beim Experimentieren irgendwann eingefügt jedoch nicht wieder entfernt wurde und somit für die ganze Verzögerungsgeschichte verantwortlich war. Das klingt wahrscheinlich alles ziemlich abenteuerlich aber scheint mir die einzig funktionierende Möglichkeit, NMEA-Sätze haben nunmal leider auch keine feste Länge oder Struktur (auch wenn es ein Standard ist, sind die Strukturen je nach Zustand andere, leere Sätze haben z.B. wesentlich mehr Datenfelder als eben jene bei Empfang...). Ich hoffe, dass ich das Problem beim Radar nun auch noch beheben kann, wenn gleich da der Fehler wo anders liegen muss.

Die alte serielle Schnittstelle wird auf neueren Systemen eher stiefmütterlich behandelt, hab ich das Gefühl. Leider kann ich sie nicht ganz umgehen...

Achso zum Thema wait: ist das gänzlich überflüssig? An anderer Stelle verwende ich auch die serielle Schnittstelle und leere zunächst den Buffer wonach sich ein wait anschließt. Diese Struktur habe ich nun schon öfter gesehen und daher übernommen, aber generell warte ich schon ungern. Macht das an dieser Stelle Sinn oder eher nicht?

Grüße,

PAX
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Synchronisation bei serieller Schnittstelle über lange Zeiträume - pax - 15.10.2009 16:13

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Überlauffehler bei serieller Schnittstelle DominikPl 14 12.294 29.05.2018 11:51
Letzter Beitrag: Kiesch
  Fehlermeldung bei serieller Schnittstelle Lab-Girl 3 6.360 02.02.2016 17:12
Letzter Beitrag: IchSelbst
  VISA Read mit Keithley 6487 dauert lange jusaca 3 5.939 28.01.2016 11:12
Letzter Beitrag: jusaca
  Synchronisation uC - LabVIEW ETech_Uri 10 9.523 11.02.2015 16:32
Letzter Beitrag: ETech_Uri
  Synchrone Datenerfassung von Serieller Schnittstelle und DAQ darkbeppo 5 7.506 17.12.2014 12:46
Letzter Beitrag: GerdW
  Synchronisation 2er Geräte mit integrierter Strommessung Eliii 3 5.299 24.07.2014 12:48
Letzter Beitrag: GerdW

Gehe zu: