Gast
#465050
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 ?????