Code macht Probleme sobald er in einer getrennten Fkt. deklariert wird. AVR ATMega128

Gast #1383559
Guten Tag zusammen,

ich habe folgendes Problem, wenn ich einen Teil meines Codes in eine 
extra Funktion auslagere und diese Funktion dann aufrufe, startet mein 
uC neu. Wenn ich den Code direkt ausführe funktioniert alles Wunderbar.
Ich konnte den Fehler bereits eingrenzen, bin momentan aber mit meinem 
Latein am Ende.

Im angehängten Code ist die relevante Stelle in der Datei 
"serial_interface.c" in den Zeilen 218 - 233.
Der Code in den Zeilen 220-226 funktioniert anstandslos. Wird der Code 
jedoch in eine Funktion ausgelagert (trashfunction() Zeilen 249-258) und 
dann aufgerufen (Zeile 231), schmiert der uC ab und startet neu.

Über die SuFu hab ich bereits ein ähnliches Problem gefunden, dass über 
das Optimierungslevel des Compilers gelöst wurde, was bei mir zu keinem 
Erfolg geführt hat.

Danke schonmal für alle Lösungshinweise.

Grüße
Jack
Angehängte Dateien:
Gast
char sendstring[4];

sendstring[0] = 0x12;
sendstring[1] = 0xAB;
sendstring[2] = 0xCD;
sendstring[3] = 0xEF;
sendstring[4] = '\0';

4 Elemente angelegt und 5 beschrieben. Eher ungünstig.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.