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: 2. serielle Schnittstelle 4800 baud Kategorie: C-Control I V1.2/2.0 (von Stefan Süßmann - 1.03.2005 21:29)
 Als Antwort auf Re: 2. serielle Schnittstelle 4800 baud von DIE HARD - 1.03.2005 21:14

>
> Hallo..
> Also, die 3V sind knapp, sollten aber reichen.
> Ich nehme an, dass das Gerät mit 3V arbeitet,
> dann ist es nicht gut die 5V der TX-Leitung ohne
> gesonderte Beschaltung anzuschliessen
>

Der GPS-Empfänger arbeitet mit 5V, liefert aber nur 3V TTL-Pegel. Laut Hersteller verträgt er aber 5V auf der RX Leitung.

> Du weisst, dass die 2.ser. keinen Buffer hat und das
> Startbit sehr schnell gepollt werden muss.
> Was du beschreibst, sieht mir so aus, als wäre die Zeit
> zwischen dem Erkennen Startbit und Byte einlesen zu gross.
> Kannst du den Teil der Routine posten?
> ciao...

Dies ist nur ein kleiner Test um ein paar Zeichen zu lesen:

#EmpfangGPS
print"#ON_LCD#";  ' Umleitung einschalten
print"#INIT#";     ' LCD initialisieren
print"#CLR#";     ' LCD initialisieren

#RECEIVE_LOOP
print"#L101#";
sys getbyte
if serialbyte = 36 then gosub decode else goto RECEIVE_LOOP ' Abfrage auf "$"
for i = 1 to 15
sys getbyte
gosub decode
next i
print"#L201#";
for i = 1 to 15
sys getbyte
gosub decode
next i
print"#CLR#";     ' LCD initialisieren

goto RECEIVE_LOOP


#decode

if serialbyte = 48 then print "0";
if serialbyte = 49 then print "1";
if serialbyte = 50 then print "2";
if serialbyte = 51 then print "3";
if serialbyte = 52 then print "4";
if serialbyte = 53 then print "5";
if serialbyte = 54 then print "6";
if serialbyte = 55 then print "7";
if serialbyte = 56 then print "8";
if serialbyte = 57 then print "9";


if serialbyte = 65 then print "A";
if serialbyte = 71 then print "G";
if serialbyte = 68 then print "D";
if serialbyte = 83 then print "S";
if serialbyte = 80 then print "P";
if serialbyte = 90 then print "Z";
if serialbyte = 86 then print "V";
if serialbyte = 84 then print "T";

if serialbyte = 78 then print "N";
if serialbyte = 69 then print "E";
if serialbyte = 77 then print "M";
if serialbyte = 46 then print ".";
if serialbyte = 44 then print ",";
if serialbyte = 36 then print "$";


return


Das ist sicher nicht elegant programmiert aber über die normale Schnittstelle funktioniert es.
Irgendwie fehlt der alte CHR$-Befehl von basic :-)


mfg


Stefan

 Antwort schreiben

Bisherige Antworten:

Re: 2. serielle Schnittstelle 4800 baud - Nachtrag (von DIE HARD - 2.03.2005 12:54)
Re: 2. serielle Schnittstelle 4800 baud (von DIE HARD - 2.03.2005 12:28)
    Re: 2. serielle Schnittstelle 4800 baud (von Stefan Süßmann - 2.03.2005 20:16)
        Re: 2. serielle Schnittstelle 4800 baud (von DIE HARD - 2.03.2005 22:32)
            Re: 2. serielle Schnittstelle 4800 baud (von Stefan Süßmann - 3.03.2005 8:23)
        Re: 2. serielle Schnittstelle 4800 baud (nachtrag) (von Henrik - 2.03.2005 22:23)
        Re: 2. serielle Schnittstelle 4800 baud (von Henrik - 2.03.2005 22:19)
            Re: 2. serielle Schnittstelle 4800 baud (von Stefan Süßmann - 3.03.2005 8:31)