Hallo, beschäftige mich gerade mit Interrupt´s, leider komme ich nicht weiter; _Aufgabe_ Taste PA7 steigende Flanke löst ISR aus _Frage_ Wie/wo kann ich defenieren, dass PA7 auslöst? __C, Grundgerüst__ ISR(INT0_vect) { tu was... } int16_t main(void) { DDRA=0b00000000; MCUCR=(1<<ISC00)|(1<<ISC01); GICR=(1<<INT0); sei(); tu was... }
diverse Interrupt enable flags, prioritätsflags usw setzen. Bei den Pics z.B. gibts noch Gruppen wie "Peripheral Interrupt Enable" usw. Dann gibbet sicherlich noch n Flag für Steigende/Fallende Flanke oder einfach bei jeder Änderung. Datenblatt lesen hilft hier ungemein.
hilft mir hier leider nicht weiter! Deine Angabe stehen bereits.
Der Atmega16 hat nur INT0-INT2 aber kein PCINT wie die neueren mir Controller. Von daher musst du den Taster schon PB2, PD2 oder PD3 benutzen für den Taster (zumindest wenn du den Interrupt verwenden willst)
Timmo H. schrieb: > Der Atmega16 hat nur INT0-INT2 aber kein PCINT wie die neueren mir > Controller. > Von daher musst du den Taster schon PB2, PD2 oder PD3 benutzen für den > Taster (zumindest wenn du den Interrupt verwenden willst) Oh schade, ich dachte das ich jeden Eingang darauf einrichten kann. Ich habe die Info noch nicht gefunden. Wo genau im Datenblatt steht das mit diesen 3 Eingängen?
Einmal ganz vorne beim Pinout und weiter in der Mitte im Kapitel Interrupts (dort sind alle Interrupt-Quellen beschrieben).
Das ist eigentlich gar nicht schade, da in den allermeisten Fällen die Kombination Taster und Interrupt eine höchst unschöne ist. Entprellung
Dennoch ist es manchmal unumgänglich, z.B. wenn man den controller aus einem sleep mode wieder aufwecken will
Klar aber das ist in den wenigsten Fällen der Grund, einen Interrupt nehmen zu wollen. Erst recht in Kombination mit Unklarheit über die zur Verfügung stehenden Interrupt-Quellen...
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.