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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum