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 - 2.03.2005 20:16)
 Als Antwort auf Re: 2. serielle Schnittstelle 4800 baud von DIE HARD - 2.03.2005 12:28
Ich habe einen neuen erfolglosen Versuch gestartet. So sollte ein Datensatz ungefähr aussehen (er ist im Moment recht kurz, da der Empfänger im Keller keinen Empfang hat):

$GPGGA,000107,,N,,E,0,00,,,M,,M,,*6B                                    
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                            
$GPGSV,1,1,00,,,,,,,,,,,,,,,,*79                                
$GPRMC,000107,V,,N,,E,,,010303,,,N*5F  

Diese 4 Zeilen werden jede Sekunde gesendet. Diese 4 Zeilen habe ich mit dem GPS-Empfänger am Micro-Evaluation-Board zum PC übertragen und mit Hyperterminal angezeigt.

Folgender Versuch klappt auch nicht:

define TXPORT       port[1]
define RXPORT       port[2]
define LIGHT        port[16]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
'- FIXED INTERFACE BUFFER -
define SERIALBYTE  byte[1]
define BAUDRATE    byte[2]
'-- SYSTEM ROUTINEN -------
define PUTBYTE      &HFD30
define GETBYTE      &HFD03

define i            byte[3]

' --------- SYS INIT  --------
TXPORT=off
LIGHT=off

BAUDRATE=182           ' 182 4800 baud zum GPS-Empfänger

print"#ON_LCD#";  ' Umleitung einschalten
print"#INIT#";     ' LCD initialisieren
print"#CLR#";
print"#L101#";
print "Warten auf Start";
print"#L201#";
print "und speichern   ";
print"#OFF#";

open# for write

for i = 1 to 30
sys getbyte
print# serialbyte
next i
close#

print"#ON_LCD#";  ' Umleitung einschalten
print"#CLR#";

print"#L101#";
open# for read
for i = 1 to 15
input# serialbyte
gosub decode
next i

print"#L201#";
for i = 1 to 15
input# serialbyte
gosub decode
next i

end

#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 "$";
if serialbyte < 48 then print "*";    ' habe hier mal ein "*" ausgeben lassen.

return

'--------- GERÄTETREIBER LADEN ----------
syscode "M20_UTIL10_PAGE0.s19"


Das Ergebnis im Display sieht z.B. so aus:

$**0SN*
*0,**S


.... ist nicht wirklich brauchbar.

Könnte es hier ein Problem zwischen Byte- und Word-Variable sein?

mfg

Stefan

 Antwort schreiben

Bisherige Antworten:

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)