AD-Wandler im Polling mit JTAG-Debuging verfolgen geht! ;**** includes **** .include "m32def.inc" .CSEG .ORG 0x00 rjmp RESET ; Reset Handler reti ;EXT_INT0 ; IRQ0 Handler reti ;EXT_INT1 ; IRQ1 Handler reti ;EXT_INT2 ; IRQ2 Handler reti ;TIM2_COMP ; Timer2 Compare Handler reti ;TIM2_OVF ; Timer2 Overflow Handler reti ;TIM1_CAPT ; Timer1 Capture Handler reti ;TIM1_COMPA ; Timer1 CompareA Handler reti ;TIM1_COMPB ; Timer1 CompareB Handler reti ;TIM1_OVF ; Timer1 Overflow Handler reti ;TIM0_COMP ; Timer0 Compare Handler reti ;TIM0_OVF ; Timer0 Overflow Handler reti ;SPI_STC ; SPI Transfer Complete Handler reti ;USART_RXC ; USART RX Complete Handler reti ;USART_UDRE ; UDR Empty Handler reti ;USART_TXC ; USART TX Complete Handler reti bzw. rjmp ADCC ; ADC Conversion Complete Handler reti ;EE_RDY ; EEPROM Ready Handler reti ;ANA_COMP ; Analog Comparator Handler reti ;TWI ; Two-wire Serial Interface Handler reti ;SPM_RDY ; Store Program Memory Ready Handler .ORG 0x25 RESET: ldi r16,high(RAMEND) ; Main program start out SPH,r16 ; Set Stack Pointer to top of RAM ldi r16,low(RAMEND)-16 out SPL,r16 ;Referenzspannung 5V ;Eingang Pin 35 ldi r16, 1<<REFS0|0b00101 out ADMUX,r16 ;Bittakt 125kHz ;Interrup Enabele ;AD-Aktivieren ldi r16, 1<<ADEN|1<<ADIE|6 out ADCSRA,r16 MAIN: in r16,PINB sbic ADCSRA,ADSC rjmp MAIN sbi ADCSRA,ADSC ;Brakepoint rjmp MAIN Mit Interrupt aber nicht. Die IR-Routine wird nie aufgerufen. Setze ich das ADIF Bit per Hand flipt das Programm ganz aus, als wäre der Stack fehlerhaft. .ORG 0x25 RESET: ldi r16,high(RAMEND) ; Main program start out SPH,r16 ; Set Stack Pointer to top of RAM ldi r16,low(RAMEND)-16 out SPL,r16 ;Referenzspannung 5V ;Eingang Pin 35 ldi r16, 1<<REFS0|0b00101 out ADMUX,r16 ;Bittakt 125kHz ;Interrup Enabele ;AD-Aktivieren ldi r16, 1<<ADEN|1<<ADIE|6 out ADCSRA,r16 sei sbi ADCSRA,ADSC MAIN: in r16,PINB rjmp MAIN ;************** ;* Interrupts * ;************** ADCC: sbi ADCSRA,ADSC ;Brakepoint reti Kann man Interrups nicht Debugen ?????
Na, kennt keiner das Problem, bin ich alleine doof
Die Vektoren sind beim Mega32 4 Bytes lang, RETI/RJMP aber nur 2.
Halleluja, Typischer Fall von "Change User" Wer lesen kann und will ist halt klar im Vorteil, ich danke Dir.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.