2 serielle Schnittstelle funktioniert nicht Kategorie: IDE (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 | ||
Antwort schreiben Antworten: Re: 2 serielle Schnittstelle funktioniert nicht (von KarlH - 30.04.2010 12:33) Re: 2 serielle Schnittstelle funktioniert nicht (von PeterS - 28.04.2010 17:58) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum