Hallo Gruppe Habe folgendes Problem mit dem Angehängten Programm, das im AVR Studio 4.18 Build 716 compiliert wird. In Zeile 79 steht folgendes geschrieben: "char uart_string_copy[UART_MAXSTRLEN + 1];" Das ist eine Stringvariable, die ich zwischenzeitlich mal gebraucht habe, aber in dieser Version nur noch Speicher belegt, weil nicht mehr benötigt. Dieser String wird nicht benötigt !! Solange ich ihn mitcompiliere läuft das Programm einwandfrei. Wenn ich diese Zeile nun aber mit "//" stilllege, kommt zwar beim kompilieren keine Meldung (auch kein Warning), aber dafür erscheint auf meinem LCD Display nur noch Müll. Das Programm läuft nicht mehr richtig. ?!?!?!? Wenn ich die "//" wieder lösche und ich den Compiler die Zeile wieder verarbeiten lasse, geht wieder alles super. Kann mir das jemand erklären ? Danke Torsten
>In Zeile 79 steht folgendes geschrieben: >"char uart_string_copy[UART_MAXSTRLEN + 1];" Ist global und wird mit 0 initialisiert. >Wenn ich diese Zeile nun aber mit "//" stilllege, kommt zwar beim >kompilieren keine Meldung (auch kein Warning), aber dafür erscheint auf >meinem LCD Display nur noch Müll. Das Programm läuft nicht mehr richtig. >Wenn ich die "//" wieder lösche und ich den Compiler die Zeile wieder >verarbeiten lasse, geht wieder alles super. >Kann mir das jemand erklären ? Das unbenutzte Array diente wohl als Bremse für einen wildgewordenen Pointer der im Speicher keine 0 gefunden hat und dann immer weiter durch den Wald geht;)
for (unsigned char j = 0; j <= SatzNr; Du Versuchst 1 Array mehr zu füllen als du Deklariert hast (0.. SatzNr-1) Gruß Anja
Warum zur Hölle der Doppelpost ?!?!? Beitrag "Analyse NMEA Datensatz klappt nicht so richtig - Rechnenleistung schuld"