Hi, ich hab eine Frage zu externen Interrupts. Zunächst mal hab ich das INT0 so aktiviert und auf fallende Flanke gestellt, wie ich es laut Datenblatt ATMega324A verstanden habe. In dem AVR Tutorial hier stehen scheinbar ISCx0 und ISCx1 im MCUCR-Register, bei meinm µC scheinbar aber im EICRA-Register. Hab ich was übersehen oder ist das so korrekt: EIMSK |= (1 << INT0); // INT0 aktivieren EICRA |= (1 << ISC01); // auf fallende Flanke triggern sei(); ISR(INT0_vect) { // tu was }
Das steht ja schon da :D Mein Problem ist, dass ich (noch) keine Hardware habe um das zu testen. Grundsätzlich wollte ich nur wissen ob das so richtig ist, da ich wie gesagt, diese Unterschiede bei den Registern festgestellt habe.
engeldinger schrieb: > Grundsätzlich wollte ich nur wissen ob das so richtig ist, da ich wie > gesagt, diese Unterschiede bei den Registern festgestellt habe. Ja, das ist richtig. Du wirst noch viele weitere Unterschiede feststellen. Das Tutorial bezieht sich weitestgehend auf den alten Atmega8.
Guten Morgen, wichtig ist es noch den zugehörigen INT0 Pin auf Eingang (per Default) zu schalten und ihn mit einem Pullup zu versehen, das kann auch über die im AVR schaltbaren Pullup erfolgen. Sonst könnte es sein, dass der Eingang keinen definierte Pegel hat.
Karl M. schrieb: > wichtig ist es noch den zugehörigen INT0 Pin auf Eingang (per Default) > zu schalten und ihn mit einem Pullup zu versehen Dies hab ich in meinem HW-Layout berücksichtigt. Allgemein vielen Dank, das hat meine Verunsicherung deutlich gesenkt!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.