Forum: Mikrocontroller und Digitale Elektronik interrupt, Zwangsausloesung bei Erlaubnis


von Rockstein (Gast)


Lesenswert?

Hallo, leute.
Noch eine Frage. Ist das wirklich so, dass wenn ich die interrupts
erlaube, dann werden die sofort ausgeloest oder das macht nur
AVR-Studio??? Weiss jemand wie man so was vermeiden kann?

also z.B. int0 ist in gimsk und mcucr configuriert ung jetzt folgt
sei... AVR-Studio macht sofort eine ausloesung von int0, obwohl keine
aenderung am pin int0 vorhanden sind. Nehmen wir an, ein Wert im r16
soll bei int0 incrementiert werden, wenn ich das richtig verstehe, dann
wird r16 sofort nach erlaubnis (sei - Befehl) ein mal incrementiert und
dann nur bei Aenderung am pin Int0

von Gerhard Schmidt (Gast)


Lesenswert?

Tip: Erst MCUCR schreiben, dann Setzen des Bit INT0 im GIMSK, dann  das
Bit INTF0 im GIFR-Register auf 0 setzen (Achtung! Dazu muss
unlogischerweise eine 1 in das Register geschrieben werden!), dann erst
SEI. So herum müsste es klappen. Habe es aber nicht ausprobiert.

MfG
Gerd

von Rockstein (Gast)


Lesenswert?

Ich habe mich wahrscheinlich zukompliziert ausgedrueckt. Aber es ist so,
dass sofort nach dem "sei" Befehl wird interrupt ausgeloest. Nur ein
mal, dan laeuft alles weiter.

Und das will ich irgendwie vermeiden

von Rockstein (Gast)


Lesenswert?

Aaaaaah so....
Jetzt habe ich kopiert was Du meinst.
Im GIFR-Register bit INTF0 wird 1 wenn ich wirklich level am Pin INT0
entschprechend MCUCR veraendere. Und am anfang muss ich von Hand sagen,
dass da eine Null ist (es ist kommisch, aber eine 0 wird dann, wenn ich
dort 1 reinschreibe) und dann kommt sei...Und uebergang zum
interrupt-vektor wird nicht gemacht, weil im INTF0 eine Null ist

von Rockstein (Gast)


Lesenswert?

Vielen dank fuer den TIP
ich werde es jetzt ausprobieren

von Rockstein (Gast)


Lesenswert?

es funzt
****Yupi****

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.