www.mikrocontroller.net

Forum: Compiler & IDEs absturz bei Rücksprung


Autor: Tobias Krühn (kruehn)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich habe mir ein neues Board mit einem Mega128 gemacht und wollte das
gerade mal mit einem kleinen Testprogramm ausprobieren. Der yC lässt
sich programmieren und mein Testprogramm startet auch. Ich habe ein
paar leds an Port A angeschlossen.
Diese Blinken
1x lang, d.h. das Programm startet
1x kurz, d.h. das Programm springt nach crash()
Dann fängt es von vorne an, d.h. es kommt kein zweites kurzes Blinken.
Das Programm stürzt also anscheinend beim Rücksprung aus crash() ab.
Irgendwie habe ich ein Brett vorm Kopf.
Hier nun das vollständige Programm, im Anhang ist noch mein Makefile.
Darin ist vom Original allerdings kaum etwas geändert.
Wäre schön, falls jemandem etwas einfällt.
Danke, Grüße
Tobi

#include <avr/io.h>
#include <stdint.h>
#include <avr/delay.h>

void crash(void)
{
  PORTA = 0xFF;
  _delay_ms(100); _delay_ms(100);
  PORTA = 0x00;
  _delay_ms(100);  _delay_ms(100);
  PORTA = 0xFF;
}

int main(void)
{
  DDRA = 0xff;

  PORTA = 0xFF;
  _delay_ms(100); _delay_ms(100);
  _delay_ms(100); _delay_ms(100);
  _delay_ms(100); _delay_ms(100);
  _delay_ms(100);  _delay_ms(100);
  _delay_ms(100);
  PORTA = 0x00;
  _delay_ms(100); _delay_ms(100);
  _delay_ms(100);  _delay_ms(100);
  _delay_ms(100);  _delay_ms(100);
  _delay_ms(100);  _delay_ms(100);
  _delay_ms(100);  _delay_ms(100);
  PORTA = 0xFF;

  crash();

  PORTA = 0xFF;
  _delay_ms(100);  _delay_ms(100);
  PORTA = 0x00;
  _delay_ms(100);  _delay_ms(100);
  PORTA = 0xFF;
}

Autor: Tobias Krühn (kruehn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm, noch schräger ist:
Wenn ich im Makefile
OPT = 0
eintrage und den yC Programmiere, passiert gar nicht mehr.
(?)
Grüße
Tobi

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mega103 Kompatibilitätsmode beim Mega128 auch ausgeschaltet ? Sonst
läuft die Stack Initialisierung ins Leere.

Autor: Tobias Krühn (kruehn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uuups, ich sags ja: Brett vorm Kopf.
Danke, das war's.

Grüße
Tobi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.