Forum: Mikrocontroller und Digitale Elektronik Mega16 ASM Externer Interrupt immer low


von Martin K. (spyro07)


Lesenswert?

Hi,
ich habe ein Problem mit dem externem Interrupt beim Mega16.
Und zwar wird dieser IMMER auf 0 gezogen, egal ob ich mein richtiges 
Signal anlege oder, ob ich einen Widerstand gegen VCC anschliese.
Er wird immer auf 0 gezogen.

Woran liegt das?

Hier noch mein Code
1
  rjmp init                 ; Reset Handler                           
2
.org 0x002
3
  rjmp encoder_li
4
5
.org 0x004
6
  rjmp encoder_re  
7
8
9
encoder_li:
10
encoder_li_1:
11
  inc     li_1
12
  reti
13
14
15
encoder_re:
16
encoder_re_1:
17
  inc     re_1
18
  reti
19
20
init:
21
    ldi     temp1, LOW(RAMEND)                ; Stackpointer initialisieren
22
     out     SPL, temp1
23
     ldi     temp1, HIGH(RAMEND)
24
    out     SPH, temp1
25
26
;;;;;;;;;;Int0 und INT1 aktivieren fallende Flanke;;;;;;;;;;
27
  
28
    ldi     temp1,  (1<<ISC11)| (1<<ISC10)| (1<< ISC01)| (1<< ISC00)       ; INT0 konfigurieren
29
   out     MCUCR, temp1
30
  
31
    ldi     temp1, (1<<INT1)| (1<<INT0)               
32
    out     GICR, temp1
33
34
  ldi    temp1, 0b11001111
35
  out    DDRD, temp1
36
37
  sei

von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

Wenn du willst das auf einen fallende Flanke reagiert wird musst du
das so einstellen

(1<<ISC11)| (0<<ISC10)| (1<< ISC01)| (0<< ISC00)

von Martin K. (spyro07)


Lesenswert?

Ja danke, ich habe vergessen den Kommentar zu verändern.

Aber das ist ja nicht mein Problem, mein Prob ist das die beiden 
Interrupt-Pins immer vom µc auf low gezogen werden. Das kann doch 
eigentlich nicht sein.

von Thomas (kosmos)


Lesenswert?

ldi temp1, 0b11110011
out DDRD, temp1

du hast die falschen Pins als Eingang gesetzt PinD2 und PinD3 sind bei 
dir immer noch Ausgänge

von Martin K. (spyro07)


Lesenswert?

AHHHHHHHHHHHHHHH, danke, bin ich dumm.

Ich habe mal wieder die PINs (bits) von links nach rechts gezählt.
Zu dumm.
Naja, jetzt gehts, danke!!!

von spess53 (Gast)


Lesenswert?

Hi

Wieso konfigurierst du INT1/2 als Ausgang?

MfG Spess

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
Noch kein Account? Hier anmelden.