Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: 2 serielle Schnittstelle funktioniert nicht Kategorie: IDE (von KarlH - 30.04.2010 12:33)
Als Antwort auf 2 serielle Schnittstelle funktioniert nicht von Martin - 27.04.2010 15:56

> Hallo zusammen,
>
> ich habe ein problem mit der 2. Seriellen Schnittstelle beim Mega 128......
>
> Da mein GPS Tracker jede Sekunde einen NMEA Datensatz sendet war der irq mode für
> die Seriellen Schnittstellen leider nicht zu gebrauchen....
> Der Buffer lief ständig über....
>
> Im polled Mode klappt alles wunderbar auf der 1. seriellen Schnittstelle....Habe den Tracker
> direkt (TTL Pegel angeschlossen)
> wenn ich ihn aber an der zweiten Schnittstele anschlieÃ?e tut sich nix.....
>
> Nach einem Reset des boards....liegt der rx pin der 1. schnittstelle auf high....
> der der zweiten auf low....
>
> ich habe auch schon eine andere unit genommen.....das gleiche!!!!
>
> ist es ein Fehler im Interpreter?
>
> void Serial (void)
> {
>
> Serial_Init(1,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600);
> AbsDelay(100);
> Serial_Init(0,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600);
> AbsDelay(100);
>
> }
>
>
>
>
> word msg_lex,msg_pc;
> char msg;
> char Gps_in[255],Gps_comp[10];
> int z,comp,ss;
>
> void serial_rd (void)
> {
> ss=0;
> while(1)
>     {
>     z=1;
>     Str_Fill (Gps_in,0,255);
>
>     while (Gps_in[0]!=36)
>           {
>           Gps_in[0]=Serial_Read(ss);
>           }
>     while(Gps_in[z-1]!=42)
>          {
>          Gps_in[z]=Serial_Read(ss);
>          z=z+1;
>          }
>
>     Gps_in[z]=Serial_Read(ss);
>     z=z+1;
>     Gps_in[z]=Serial_Read(ss);
>
>     if (Str_SubStr(Gps_in,"$GPGGA")!=0xffff)
>        {
>        Msg_WriteText(Gps_in);
>        Msg_WriteChar(13);
>        }
>     }
> }
>
>
> wenn ich also ss auf "0" setze funktioniert alles bestens.
> Nur wenn ss=1 kommt fast immer nix....ab und zu mal eine Zeile, aber wenn dann nur müll!
>
> gruÃ?
>
> Martin

Hallo,

Ich glaube, ich habe ein ähnliches Problem:
also ich habe mir auch so ein GPS Modul gekauft, jedoch mit RS232 Pegeln. Am PC hat es super funktioniert,
jedoch als ich dann versucht habe, es über die C-Control an meinen PC zu senden, also an Schnittstelle 2 GPS-Signal
Eingang, an Schnittstelle 1, GPS-Eingang 1:1 senden, stürzte die C-Control immer ab. Als ich dann das Senden
an den PC mit MsgWriteChar über die USB-Schnittstelle gemacht habe, gab er mir nur die ersten paar Zeichen
der NMEA-Message aus. Ich vermutete, dass der Puffer einen Ã?berlauf hat, drum hab ich das GPS-Modul
so eingestellt, dass es nur einmal in der Sekunde eine NMEA-RMC-Message schickt. Das hat dann mit einer
Baudrate von 9600 auf der 2.Schnittstelle im Interrupt-Modus geklappt. Als ich dann jedoch die zweite Schnittstelle
auch initialisieren wollte (pollend), stürzte die C-Control wieder nach 3-4 Zeichen ab.

MfG Karl


    Antwort schreiben


Antworten: