Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: GPS Displayanzeige Kategorie: Programmierung Basic (von Topmail - 12.08.2004 18:05)
 Als Antwort auf GPS Displayanzeige von Paul - 11.08.2004 9:26
Hallo Paul,
> ...
> Beide Geräte habe ich auf 4800 Baud stehen, der CController findet
> aber nicht die $ Zeichen, ob die NMEA Daten anders gesendet
> werden, vielleicht  im  Block oder  schneller?
Ich vermute die Blöcke werden schneller hintereinander (also mit geringerer Pause dazwischen) gesendet - ansonsten sind 4800 Baud immer 4800 Baud!
> Wenn ich die Daten zum PC sende werden sie einwandfrei angezeigt.
Gut so!

Mein Debugger unterstützt zwar (noch) keine serielle Kommunikation, aber
ich habe nur diese paar Zeilen mal getestet:

...
#lese_rma0
  GET zeichen
  IF zeichen <> DOLLAR THEN GOTO lese_rma0
...

Wenn der "zeichen<>Dollar", dann dauert ein Schleifendurchlauf (ohne Interrupts etc.)
mind. 6102 Taktzyklen also (immer bei einem 4MHz-Quarz) ca. 3.05 ms, bei "zeichen=DOLLAR"
mind. 5310 Taktzyklen also ca. 2.65 ms. Das wäre nicht weiter schlimm, wenn nicht bei
4800 Baud (8n1) im "schlimmsten Fall" alle ca. 2.1 ms ein Zeichen kommen würde.
Wie man leicht erkennt läuft der 8 Byte Puffer so recht schnell voll, es gehen
also Zeichen verloren!

Langer Rede kurzer Sinn: ohne Assembler geht es auf einer C-Control nicht, außer du
schaffst es eine Flußkontrolle (RTS/CTS) zum Laufen zu bringen. Das müßte dann aber auch
die Gegenseite unterstützen, was (soweit ich weiß) bei NMEA-Geräten nicht üblich ist.

Cu Rene,
alias Topmail

 Antwort schreiben

Bisherige Antworten: