@XBert:
Danke dir für deine Mühe, aber leider gleiches Problem.
Druckbare Version
@XBert:
Danke dir für deine Mühe, aber leider gleiches Problem.
Hab natürlich vergessen die while-schleife in main anzupassen. in der jetzigen Form wird sie wegoptimiert.
Du könntest es so machen:
Code:while(1)
{
asm volatile ("nop");
}
Hab jetzt raus gefunden woran es lag. Ich muss das Häckchen bei "Erase befor programing flash" rein machen.
@XBert: Danke dir für deine Hilfe und deine Mühe.
Gruß
Cetin
Habe noch eine Frage. Bei einem Interrupt wird doch der aktuelle Code unterbrochen und der Code in der ISR ausgeführt und anschließt wird wieder zurück gesprungen der Code weiter ausgeführt.
Ich habe folgenden Code:
Wenn ich den Abschnitt ab "OCR1AL=120;" in meine while-Schleife rein kopiere, funktioniert es nicht. Deshalb sind die besagte Zeilen auch im ISR.Code:ISR(INT1_vect)
{
impulse_rechts++;
OCR1AL=120;
OCR1BL=120;
if(impulse_rechts<=100)Robot_vor();
if(impulse_rechts>=100)Robot_zurueck();
if(impulse_rechts==200)
{
Robot_stopp();
impulse_rechts=0;
}
}
Woran liegt es, dass das Programm aus dem ISR nicht wieder zurück in die while -Schleife zurück springt?
Gru?
Cetin