- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: Interrupt Routine

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.05.2013
    Beiträge
    22

    Interrupt Routine

    Hallo Guten Nabend,

    Ich steige von C auf Assembler um und verstehe hier was nicht.

    Viele Tutorials gibt es zu Assembler AVR nicht, die nicht kopiert worden sind.
    Ich habe alles ausprobiert was ich in irgendwelchen Anleitungen und Tutorials fand.
    Die Interrupt Vectoren per .org, weglassen, mit reti, etwas gemischt....
    Das Handbuch über den Atmega 8 sagt:
    When the SREG I-bit, TOIE0 (Timer/Counter0 Overflow
    Interrupt Enable), and TOV0 are set (one), the Timer/Counter0 Overflow interrupt is executed.
    Genau dieser Zustand tritt auch in der Simulation von Atmel Studio 6.2 ein.
    Allerdings wird dann nicht die Routine ausgeführt, es wird nichts zurück gesetzt...
    Ich komme mit den Tutorials und meinem eigenen Latein nicht mehr weiter und hoffe ihr könnt mich auf den rechten Pfad zurück bringen.
    Mein Übungscode sieht wie folgt aus:

    Code:
    .include "m8def.inc"
    
    rjmp main ; Reset Handler
    reti ; IRQ0 Handler
    reti ; IRQ1 Handler
    reti ; Timer2 Compare Handler
    reti ; Timer2 Overflow Handler
    reti ; Timer1 Capture Handler
    reti ; Timer1 CompareA Handler
    reti ; Timer1 CompareB Handler
    reti ; Timer1 Overflow Handler
    rjmp interrupt ; Timer0 Overflow Handler
    reti ; SPI Transfer Complete Handler
    reti ; USART RX Complete Handler
    reti ; UDR Empty Handler
    reti ; USART TX Complete Handler
    reti ; ADC Conversion Complete Handler
    reti ; EEPROM Ready Handler
    reti ; Analog Comparator Handler
    reti ; Two-wire Serial Interface Handler
    reti ; Store Program Memory Ready Handler
    
    
    main:
    		;Initializiere Stackpointer
    
    		ldi r17, HIGH(RAMEND)
    		out SPH, r17
    		ldi r17, LOW(RAMEND)
    		out SPL, r17
    		sei
    
    		ldi r17, 0xFF	;setze B als Ausgang
    		out DDRB, r16
    
    		ldi r16, 0x01	; setze Pin 1 als High.
    
    		ldi r17, (1<<CS00) ; Setze Vorteiler
    		out TCCR0, r16
    		ldi r17, (1<<TOIE0) ; Setze Overflow Interrupt
    		out TIMSK, r16
    
    loop:
    		rjmp loop ; Ewiger Loop
    
    interrupt:
    		out PORTB, r16
    		com r16
    		reti
    Geändert von Saturas077 (23.04.2014 um 12:46 Uhr) Grund: Erledigt, hoffentlich

Ähnliche Themen

  1. Tastaturabfrage innerhalb der Interrupt Service Routine
    Von Sven2013 im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 16.03.2013, 19:51
  2. Programm verlässt Interrupt-Routine nicht
    Von Björn im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 15.11.2008, 11:06
  3. Interrupt Routine
    Von luvat im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 4
    Letzter Beitrag: 16.03.2008, 20:54
  4. Interrupt in ISR-Routine freigeben
    Von dj5am im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 10.08.2007, 08:44
  5. uart interrupt routine
    Von Computerkora im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 25.11.2006, 13:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests