AVR Simulator

Gast #2871687
Lesenswert?

Hallo Zusammen,

Ich bin hier grad am programmieren und bisschen mit dem AVR Simulator am 
simulieren. Installiert hab ich Atmel Studio 6. Wenn ich jetzt zb einen 
Timer overflow habe geht er auch in die ISR rein und führt sie aus nur 
das Problem ist das er kein zweites mal dort reingeht. Das selbe Problem 
besteht bei einem Pin interrupt (Logikwechsel am Pin). Ist dies ein 
allgemeines Problem des Simulators?

Gruß
Daniel
Gast #2871749
Lesenswert?

Daniel schrieb:
> Ich bin hier grad am programmieren und bisschen mit dem AVR Simulator am
> simulieren. Installiert hab ich Atmel Studio 6. Wenn ich jetzt zb einen
> Timer overflow habe geht er auch in die ISR rein und führt sie aus nur
> das Problem ist das er kein zweites mal dort reingeht. Das selbe Problem
> besteht bei einem Pin interrupt (Logikwechsel am Pin). Ist dies ein
> allgemeines Problem des Simulators?

Ich bin fast sicher, dass es an der Zeile 42 liegt. Schau da nochmal 
genauer hin...
Gast #2872255
Lesenswert?

Also was ich grad beim Simulieren herausgefunden habe ist folgendes.
Mit dem Befehl sei(); wird das GIE bit im SREG nicht gesetzt. Mit dem 
Befehl SREG  |= (1<<SREG_I); jedoch schon. Wie kann ich das jetzt 
verstehen?
Wenn nun ein Interrupt aufgerufen wird dann wird das GIE bit im SREG 
gelöscht. D. h. weitere Interrupts sind dann gesperrt. Wieso macht der 
Simulator das?
Gast #2872290
Lesenswert?

Wird dieser reti Befehl automatisch ausgeführt damit das I-Flag wieder 
ein ist oder muss ich das manuell setzen?
Ich befürchte einfach das dies nur der Simulator nicht setzt auf dem µC 
selbst jedoch schon.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren