Hallo Leute ich habe folgendes Problem.... Ich versuche über einen ext. Interrupt die Zeit zwischen mehreren Flanken zu messen...(ich weiss es gibt da eine capture funktion..ich will es aber selbst machen) jedenfalls habe ich den Ext Int 2 über das Register EICRA ISC0 auf fallende Flanke eingestellt. Danch wird der Interrupt über das Register EIMSK bit INT2 freigeschaltet. Frage : Warum bekomme ich dauernd einen interrupt wenn der Pegel auf Low liegt. Ich habe schon im Datenblatt nachgeschaut und gelesen dass der INT Pin als Output eigestellt werden muss... habe ich auch gemacht passiert nichts.
>...INT Pin als Output eigestellt werden muss...
Wo steht die Weisheit denn?
Und wenn Du den INT2 benutzt musst Du auch die ISC2...Bits einstellen
und nicht die ISC0...
When an INT7 INT0 bit is written to one and the I-bit in the Status Register (SREG) is set (one), the corresponding external pin interrupt is enabled. The Interrupt Sense Control bits in the External Interrupt Control Registers EICRA and EICRB defines whether the external interrupt is activated on rising or falling edge or level sensed. ------>Activity on any of these pins will trigger an interrupt req-uest even if the pin is enabled as an output. <-----This provides a way of generating a software interrupt. Auszug aus dem Datenblatt. Natürlich habe ich ISC2 "0" gesetzt und ISC2 "1" gelöscht
>...even if the pin is enabled as an output.
Weißt Du, was 'even' heißt? Abgesehen davon hast Du oben geschrieben,
dass Du die ISC0x-Bits gesetzt hast. Die gehören aber nun mal zum
Externen Interrupt 0 und nicht zum INT2! Wenn die ISC2x-Bits 0 sind,
hast Du einen Level-Interrupt.
Ach ja, wenn der Pin als Output mit High-Pegel programmiert ist und Du ziehst ihn extern niederohmig auf Masse, gibts nen satten Kurzschluss...
ehm trotzdem geht nichts ... hab den PD2 als Input, ISC20=1 und ISC21=0 und INT2 =1 d.h. Interrupt bei fallender Flanke.... Mein Signal ist halt dauerhaft "0" bis die ersten Rechtecke kommen(Was ich mit einen knopfdruck starte) trotzdem kommt immer ein Interrupt
hab jetzt mein signal invertiert damit es aktiv Hi ist. jetzt kommt kein Int mehr ??!
Hi, Ich habe im Moment auch Probleme mit dem INT2 auf PORTD. Falls du deinen UART1 aktiviert hast zeigt der Pin INT2 ebenfalls an, ob ein UART1 Receive Complete ist. Das könnte ebenfalls zu Problemen führen.. Gruß Johannes
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.