Hallo
Warum funktionieren in diesen simplen Code die Interrupts nicht,
was habe ich hier vergesen:
1 | .include "m16def.inc"
|
2 | .def temp = r16
|
3 |
|
4 |
|
5 | .org 0x000
|
6 | jmp RESET
|
7 | .org 0x002
|
8 | jmp int_EX1
|
9 | .org 0x004
|
10 | jmp int_EX2
|
11 |
|
12 | RESET:
|
13 |
|
14 | ;------------------------------------------------------
|
15 | ; PORTB auf Ausgang - PORTC auf Ausgang
|
16 | ;------------------------------------------------------
|
17 | ldi temp,0xff
|
18 | out DDRD,temp
|
19 | ldi temp,0x00
|
20 | out DDRC,temp
|
21 | ;------------------------------------------------------
|
22 | ;Speicherpointer initialisieren
|
23 | ;------------------------------------------------------
|
24 | ldi ZL,0x0060
|
25 | ldi ZH,0x00
|
26 | ;------------------------------------------------------
|
27 | ;Stackpointer initialisieren
|
28 | ;------------------------------------------------------
|
29 | ldi temp, LOW(RAMEND)
|
30 | out SPL, temp
|
31 | ldi temp, HIGH(RAMEND)
|
32 | out SPH, temp
|
33 | ;------------------------------------------------------
|
34 | ;Hauptprogramm
|
35 | ;------------------------------------------------------
|
36 | sei
|
37 |
|
38 | mainloop: rjmp mainloop
|
39 |
|
40 |
|
41 | int_EX1:
|
42 | sbi PORTD,6
|
43 | reti
|
44 | int_EX2:
|
45 | cbi PORTD,6
|
46 | reti
|
Wäre dankbar für wenn mir jemand diese Frage beantworten könnte Hilfe.