Hi. Ich möchte bei meinem AT90S2313 den Interuppt so einstellen, das jede Änderung den Interuppt auslöst. ldi temp, 0b00000001 ;INT0 konfigurieren out MCUCR, temp Die anderen 3 Interuppt's, fallende, steigende Flanke und negativ funktionieren super, nur dieser nicht. Ich nehme das Programm vom Tutorial. mach ich da was falsch?
Schau mal im Datenblatt des 2313 nach. Dort wirst du sehen, dass die Tabelle für das MCUCR Register so aussieht: ISC01 ISC00 Description 0 0 The low level of INT0 generates an interrupt req 0 1 Reserved 1 0 The falling edge of INT0.... 1 1 The rising...... Ich denke das Tutorial ist für einen anderen Typ geschrieben
Also um es genau auszudrücken. Diese Funktion gibt es nicht beim 2313. Jedenfalls in meinem Datenblatt nicht.
Da der 2313 dieses Feature noch nicht hat, musst du in der ISR das Bit ISC00 toggeln. Somit schaltet die steigende Flanke auf fallende um und die fallende auf steigende. ...
Komisch. Ich sehe mir immer das Datenblatt an, von genau dem Typ, den ich programmieren will. Und wenn da ein Feature nicht drinsteht, käme ich gar nicht erst auf die Idee, mich zu wundern, daß es auch nicht funktioniert. Peter
Mach ich auch so, muss aber noch viiiiieeeeeel lernen. (und lerne schon allerhand aus den Fehlern Anderer...) ;-) ...HanneS...
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.