Mit der Konfiguration von INT1 überschreibst du die Einstellungen von INT2, da du die entsprechenden Bits wieder auf Null setzt. Machs mal so:
Code:;Konfig INT_1 und ;Konfig INT_2 ldi r17,0b11000000 out GICR,r17 ldi r17,0b00001100 out MCUCR,r17 sei
Hallo,
ich "übe" mit dem Atmega8 im Thema Interrupt.
Habe folgendes Problem, wie kann ich mehrere Ints. einsetzen.
Probem: habe 2 leds, 1. int soll die 1 einmachen, 2. int soll die 2. anmachen.
wenn ich das mit einem int. mache gehts, wenn ich den 2. reinnehme, gehts nichts mehr. also mache ich irgendwas falsch. vielleicht kann sich einer von euch das mal ansehen. danke im voraus. mein prog siehe anhang
Mit der Konfiguration von INT1 überschreibst du die Einstellungen von INT2, da du die entsprechenden Bits wieder auf Null setzt. Machs mal so:
Code:;Konfig INT_1 und ;Konfig INT_2 ldi r17,0b11000000 out GICR,r17 ldi r17,0b00001100 out MCUCR,r17 sei
das ging aber schnell.
vielen dank - es geht.
Wie mach ich das beim ATMEGA16? Genau gleich?
ich würd sagen ja. Zwischen Mega16 und Mega32 gibts eigentlich kaum Unterschiede (bis auf die Speichergrößen und ein paar Kleinigkeiten), und ich denke, die Interruptverarbeitung ist identisch...
EDIT: mist, vertan, oben gings ja um nen Mega8...
Der M16 hat eine andere Tabelle für die Interruptvektoren, und bei den Konfigurattionsregistern könnte es auch Änderungen geben. Da musst du mal das Datenblatt lesen...
Lesezeichen