Forum: Mikrocontroller und Digitale Elektronik kein debugging möglich


von Ingo L. (grobian)


Lesenswert?

warum springt mir hier der debugger nach der while Funktion ins Nirvana?

#include <avr/io.h>
#define F_CPU 10000000UL
#include <util/delay.h>

void WANDLER(void)
{
   PORTB = 0;
   _delay_ms(2);
   PORTB |=  (1 << PB2);
   _delay_ms(1);
   PORTB &= ~(1 << PB2);
   _delay_ms(1);
}


int main(void)
  {
   DDRB = 0xff;
   while(1)
    {
     WANDLER();
    }

    return 0;
  }

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Rate mal mit Rosenthal:

Falscher Stack gesetzt, so dass das return von WANDLER() in die Hose 
geht? Kann passieren, wenn eingestellte, vermeintliche MCU nicht zur 
benutzten MCU passt.

http://www.mikrocontroller.net/articles/AVR_Fuses#Kompatibilit.C3.A4tsfuses_und_manchmal_l.C3.A4stige_Defaults

Anm.: Wie wäre es nächstes Mal auch den verwendeten µC anzugeben?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.