Hallo, habe num endlich meinen Mega16 und auch schon ordentlich was ausprobiert, hauptsächlich die Sachen aus dem Tutorium. Nur eine Sache will nicht funktionieren. Das benutzen der externen Interrupts. Ich möchte das eine LED am PortB Pin2 bei Drücken eines Tasters (gegen Ground)angeht. Ich mache das so: .include "m16def.inc" .org 0x000 jmp main .org int1addr jmp int1handler main: ldi r16,low(RAMEND) out spl,r16 ldi r16,high(RAMEND) out sph,r16 ldi r16,0b00000111 ;Register b auf output stellen out ddrb,r16 ldi r16,0 ;Register b nullen out portb,r16 ldi r16,0 ;Register d input out ddrd,r16 ldi r16,0xff ;Register d pullup out portd,r16 ldi r16,0b00001010 out mcucsr,r16 ldi r16,0b10000000 out gicr,r16 loop: rjmp loop int1handler: sbi portb,2 reti
Ich sehe kein "SEI", ohne wird das nix mit Interrupt. Den Rest habe ich jetzt aber nicht überprüft, habe das Mega16-Datenblatt nicht im Kopf...
Das hatte ich doch glatt übersehen... Peinlich, aber ist mein erster Tag mit uC. Ciao, heiko
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.