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: RS232 buffer space? Kategorie: C-Control I V1.2/2.0 (von Stefan Süßmann - 23.09.2005 8:28)
 Als Antwort auf RS232 buffer space? von Windt H.J. - 22.09.2005 23:41
Stefan Süßmann nutzt:  CC1-M-Unit V1.2/2.0

> Hello,
> How much buffer-space does the C-Control I v2.02 have for receiving data over the rs232 port at 4800 bps??
> My controller needs to be able to receive up to 82 bytes of data at 4800 bps and save the data in a I2C ram.
> This is to be able to connect a GPS receiver to the C-Control.
> Thanks for any answers.
> Greetings,
> H.J. Windt
>
>

Hi,
if the c-control is waiting for the beginning of the data sending, you can receive at 9600 baud too, even with OS 2.01.
I am sending GPGGA and GPVTG and get 31 byte of data i need. i have defined theese 31 bytes and use only the get command:

' ------------------------------------- GetGPSData -----------------------------------------------------------
function GPS_Auswertung()
  #GPGGA
   get zeichen
   if zeichen <> 71 then goto GPGGA  ' G
   get zeichen
   if zeichen <> 80 then goto GPGGA  ' P
   get zeichen
    if zeichen <> 71 then goto GPGGA  ' G
   get zeichen
   if zeichen <> 71 then goto GPGGA  ' G
   get zeichen
   if zeichen <> 65 then goto GPGGA  ' A         GPGGA empfangen
                      for i = 1 to 8         ' ,hhmmss, entfernen
                      get zeichen
                      next i        
   get bgggzehner        ' 8 x entfernen + bggg
   get bggg
   get bgminzehner     ' bgmin
   get bgmin  
                      get zeichen                ' entfernen
   get bgsek1000er            ' bgsek
   get bgsek100er
   get bgsekzehner
   get bgsekeiner
                      for i = 1 to 3    ' ",N,"entfernen
                      get zeichen
                      next i
   get lggg100er
   get lgggzehner
   get lggg    
   get lgminzehner                 ' lgmin
   get lgmin
                      get zeichen               ' . entfernen
   get lgsek1000er                 ' lgsek
   get lgsek100er
   get lgsekzehner
   get lgsekeiner
                      for i = 1 to 5
                      get zeichen
                      next i
   get satzehner                    ' Satelitenanzahl
   get satanzahl
                      for i = 1 to 7
                      get zeichen
                      next i
  get isthoehe10000er
  get isthoehe1000er
  get isthoehe100er
  get isthoehezehner
                      get zeichen               ' . entfernen
  get isthoeheeiner
#GPVTG
   get zeichen
   if zeichen <> 71 then goto GPVTG  ' G
   get zeichen
   if zeichen <> 80 then goto GPVTG  ' P
   get zeichen
   if zeichen <> 86 then goto GPVTG  ' V
   get zeichen
   if zeichen <> 84 then goto GPVTG  ' T
   get zeichen
   if zeichen <> 71 then goto GPVTG  ' G     GPVTG empfangen
                     get zeichen       ' Komma entfernen
   get istkurs1000er
   get istkurs100er
   get istkurszehner
                     get zeichen       ' Punkt entfernen
   get istkurseiner
                     for i = 1 to 14   ' 14 Zeichen entfernen    
                     get zeichen
                     next i
   get speed100er
   get speedzehner  
   get speed  
 bggg     = (bggg-48) +(10*(bgggzehner-48))
 bgmin    = (bgmin-48)+(10*(bgminzehner-48))    
 bgsek    = (bgsekeiner-48)+(1000*(bgsek1000er-48))+(100*(bgsek100er-48))+(10*(bgsekzehner-48))
 lggg     = (lggg-48)+(100*(lggg100er-48))+(10*(lgggzehner-48))  
 lgmin    = (lgmin-48)+(10*(lgminzehner-48))    
 lgsek    = (lgsekeiner-48)+(1000*(lgsek1000er-48))+(100*(lgsek100er-48))+(10*(lgsekzehner-48))
 GPSHoehe = (isthoeheeiner-48)+(10000*(isthoehe10000er-48))+(1000*(isthoehe1000er-48))+(100*(isthoehe100er-48))+(10*(isthoehezehner-48))
 IstKurs = (istkurseiner-48)+(1000*(istkurs1000er-48))+(100*(istkurs100er-48))+(10*(istkurszehner-48))
 speed   = (speed-48)+(100*(speed100er-48))+(10*(speedzehner-48))
 SatAnzahl = (10*(satzehner-48)+(satanzahl-48))
end function


Bye

Stefan

 Antwort schreiben

Bisherige Antworten: