www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik interrupt, Zwangsausloesung bei Erlaubnis


Autor: Rockstein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rockstein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rockstein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rockstein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen dank fuer den TIP
ich werde es jetzt ausprobieren

Autor: Rockstein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es funzt
****Yupi****

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.