Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Einlesen in die SWCOM Kategorie: Programmierung (von Lutz Kubens - 26.02.2005 8:44)
Als Antwort auf Re: Einlesen in die SWCOM von Lutz Kubens - 24.02.2005 19:53
Ich nutze:
C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.0
> > Hallo Lutz,
> >
> > > >
> > > > thread empfangen
> > > > {
> > > >  byte buf[156];
> > > >  byte inh[156];
> > > >  int i;
> > > >  string s3;
> > > >
> > > >  swcom.setbuf(buf,156);
> > > >  loop
> > > >  {
> > > >   wait swcom.rxd();
> > > >   swcom.receive(buf,156,200);
> > > >   for i = 0 ... <= 155 { inh[i] = buf[i] - 38);}
> > > >   s3 = "";
> > > >   for i = 0 ... <= 15 { str.putchar(s3,inh[i]);}
> > > >   lcdext.line(1);
> > > >   lcdext.print2(s3);
> > > >   }
> > > > }
> > > >

> > >
> > > vielen Dank für die Hilfe. Das GPS Modul, das ich verwende sendet nur ASCII Zeichen. Am Anfang
> > > steht ein $, zwischendrin sind Kommata als Trennzeichen und am Ende sind CR und LF.
> > > Ich werde das gleich mal ausprobieren.
> >
> > Du machst hier einen grundsätzlichen Fehler.
> > Denn so kann es nicht gehen:
> > Du definierst das Bytearray buf[] mit setbuf() als erweiterten Empfangspuffer
> > für SWCOM. Bis hier ist alles korrekt.
> > Jedoch willst Du dann mit receive() Daten aus dem Empfangspuffer in buf[] "einlesen".
> > buf[] ist hier aber der Empfangspuffer und darf, solange dieser auch als solches
> > benutzt wird, auf keinem Fall irgendwo sonst im Programm benutzt werden.
> > Definiere einfach ein zweites Byte-Array in welches zu mit receive() die Daten einliest.
> >
> > MfG André H.
> >  
>
> Hallo Herr Helbig,
>
> vielen Dank für den Rat. Das leuchtet ein. Ich habe das gleich umgesetzt. Allerdings mu�
> noch ein Fehler vorliegen, da sich am Ergebnis nichts geändert hat. Am Display kann ich
> erkennen, daÃ? die Schleife durchlaufen wird und irgend etwas eingelesen wird. Verwende
> ich die Funktion inbuffercount, bekomme ich eine 0 zurückgemeldet. Dann kann natürlich
> auch die Umwandlung der Bytes in ASCII Zeichen (String) nicht funktionieren. Ich habe zum
> Test die ganze Sache auf hwcom umgerüstet, mit demselben Ergebnis. Hardwaremä�ig
> liegt also kein Fehler vor, auch der GPS Empfänger läuft nach wie vor stabil.
> MfG
>    Lutz Kubens
>

Hallo Herr Helbig,

Ich habe den Fehler gefunden. Sie hatten recht, es war ein grundsätzlicher. Ich habe die Sig-
nale vom GPS Empfänger invertiert und jetzt gehts. Die CC II Unit geht bei einem Port als
Eingang von 5V als "0" aus und der GPS Empfänger hat zum ansteuern eines Schnittstellen
Bausteins die Basis 0V. Das hatte ich die ganze Zeit übersehen. Trotzdem vielen Dank für
die Geduld mit mir und die Hilfe.

MfG Lutz Kubens


    Antwort schreiben


Antworten:

Re: Einlesen in die SWCOM (von André H. - 4.03.2005 11:50)