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
|