ATmega8-16PU - Standard INT0 - Alles Mist

Gast #1138967
Hallo zusammen,

habe eine kleine Schaltung zusammengebaut und wollte im ersten Schritt 
einfach mal eine Diode durch einen Interrupt leuchten lassen. Schalter 
gedrückt - Diode für 20ms an. In MAINLOOP klappt es auch, als externer 
Interrupt nicht - was mache ich falsch?
1
;Reset and Interrupt vector
2
rjmp  main          ;1     SB    POWER ON RESET
3
rjmp  isr_int_0  ;2     SB    Int0-Interrupt (EXT INT 0)
4
...
...
1
sbi  DDRD,DDD3  ;Port D (INT0) auf IN
2
sbi  DDRB,0x0  ;Port B (Pin0) auf OUT
...
1
ldi  r16,MCUCR
2
ldi  r17,0b11111100
3
and  r16,r17
4
ldi  r17,0b00000000
5
or  r16,r17
6
out  MCUCR,r16       ;00 LOW löst INT aus - müßte ständig ausgelöst werden; andere Kombis auch schon probiert
...
1
;GIMSK bzw. GICR [0..7] Bit 6 auf 1 (Ext.INT0 on)
2
ldi  r16,GICR
3
ldi  r17,0b00111111
4
and     r16,r17
5
ldi     r17,0b11000000
6
or  r16,r17
7
;out  GIMSK, r16 
8
out     GICR, r16
...
1
sei
...
1
isr_int_0:
2

3
push    r16  
4
;funktioniert in MAINLOP
5
pop  r16
6
reti

Pin4 hat gemessene 4,8V bei Schalter gedrückt.

Die Diode flackert ab und an mal - ohne erkenntlichen Grund. Schalter 
gedrückt ohne Reaktion der Diode.

Was mach ich hier falsch?

Danke für den ein oder anderen Tipp!

Gruß
Pizza
#1138978
Tiefkuehlpizza wrote:
> Pin4 hat gemessene 4,8V bei Schalter gedrückt.

Merkwürdig, was ist denn Deine VCC?

Taster sollten niederohmig sein, also VCC = 5,0V meßbar.

Aber die Preisfrage ist, welchen Pulldown verwendest Du?

Hint:
Man schaltet Taster üblicher Weise gegen GND, damit man den internen 
Pullup verwenden kann (spart 3 Eurocent).


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.