Exodus
18.07.2006, 13:08
Hallo!
Also ich hab hier nen code geschrieben und weiß nicht mehr weiter!
Dass problem: Ich will, dass es bei der erstn IRQ auf "one" springt und bei der zweiten IRQ auf "two". Dass schaff ich ja! aber wie springt er gleichzeitig zuerst auf "one" dann auf "two"?
Ich weiß nicht wie ich es richtig beschreiben soll bitte helft mir!
Der CODE:
.include <m8535def.inc>
;
; PA0 = ADC0
; PA1 = ADC1
; PA2 = ADC2
; PA3 = ADC3
; PA4 = ADC4
; PA5 = ADC5
; PA6 = ADC6
; PA7 = ADC7
;
; PB0 = T0/XCK
; PB1 = T1
; PB2 = AIN0/INT2
; PB3 = AIN1/OC0
; PB4 = SS (SPI Slave select input)
; PB5 = MOSI
; PB6 = MISO
; PB7 = SCK
;
; PC0 = SCL
; PC1 = SDA
; PC2 = I/O
; PC3 = I/O
; PC4 = I/O
; PC5 = I/O
; PC6 = TOSC1
; PC7 = TOSC2
;
; PD0 = RXD
; PD1 = TXD
; PD2 = INT0
; PD3 = INT1
; PD4 = OC1B
; PD5 = OC1A
; PD6 = ICP1
; PD7 = OC2
.org 0x0000
rjmp Reset
.org OC0addr
rjmp OCR
Reset:
;Stackpointer initialisieren
ldi R16, HIGH(RAMEND)
out SPH, R16
ldi R16, LOW(RAMEND)
out SPL, R16
;Timer_Counter_0 initialisieren
ldi R16, (1<<CS00) | (1<<WGM01)
out TCCR0, R16
ldi R16, 25
out OCR0, R16
ldi R16, (1<<OCIE0)
out TIMSK, R16
sei
clr R16
loop:
rjmp loop
OCR:
inc R16
cpi R16, 1
breq one
reti
one:
reti
two:
reti
Code tags ! (Picnick)
MFG
Exodus
Also ich hab hier nen code geschrieben und weiß nicht mehr weiter!
Dass problem: Ich will, dass es bei der erstn IRQ auf "one" springt und bei der zweiten IRQ auf "two". Dass schaff ich ja! aber wie springt er gleichzeitig zuerst auf "one" dann auf "two"?
Ich weiß nicht wie ich es richtig beschreiben soll bitte helft mir!
Der CODE:
.include <m8535def.inc>
;
; PA0 = ADC0
; PA1 = ADC1
; PA2 = ADC2
; PA3 = ADC3
; PA4 = ADC4
; PA5 = ADC5
; PA6 = ADC6
; PA7 = ADC7
;
; PB0 = T0/XCK
; PB1 = T1
; PB2 = AIN0/INT2
; PB3 = AIN1/OC0
; PB4 = SS (SPI Slave select input)
; PB5 = MOSI
; PB6 = MISO
; PB7 = SCK
;
; PC0 = SCL
; PC1 = SDA
; PC2 = I/O
; PC3 = I/O
; PC4 = I/O
; PC5 = I/O
; PC6 = TOSC1
; PC7 = TOSC2
;
; PD0 = RXD
; PD1 = TXD
; PD2 = INT0
; PD3 = INT1
; PD4 = OC1B
; PD5 = OC1A
; PD6 = ICP1
; PD7 = OC2
.org 0x0000
rjmp Reset
.org OC0addr
rjmp OCR
Reset:
;Stackpointer initialisieren
ldi R16, HIGH(RAMEND)
out SPH, R16
ldi R16, LOW(RAMEND)
out SPL, R16
;Timer_Counter_0 initialisieren
ldi R16, (1<<CS00) | (1<<WGM01)
out TCCR0, R16
ldi R16, 25
out OCR0, R16
ldi R16, (1<<OCIE0)
out TIMSK, R16
sei
clr R16
loop:
rjmp loop
OCR:
inc R16
cpi R16, 1
breq one
reti
one:
reti
two:
reti
Code tags ! (Picnick)
MFG
Exodus