- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 9 von 9

Thema: Timer0-Int: TOV0 wird nicht gesetzt

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Hi,
    möglicherweise steht der Interruptvektor für TIMER0 OVF nicht an der richtigen Stelle. An .org 0x000, Programmadresse $000 steht der rjmp zu main. Es folgen viele RETI, die aber jeweils auch nur 2 Byte belegen. Also nur einer Erhöhung des Programmcounters um eins bedürften. Nach der Interruptvectortabelle im Datenblatt zum Mega32 sollte der TIMER0 OVF auf Program Address $016 stehen. Nach deiner Tabelle im Programm komme ich nur auf Program Address $00A.

    Jetzt kenne ich den AVR Studio/Assembler nicht und folgende Syntax könnte nicht stimmen . Um den Vector sicher auf die richtige Speicheradresse zu bringen könntest Du die Tabelle eventuell so aufbauen:

    Code:
    .org 0x000 
    begin:
    ;--------------------------------------------------
    rjmp main           ; RESET External Pin, Power-on Reset, Brown-out Reset, Watchdog Reset, and JTAG AVR Reset
    .org 0x002
    reti                ; INT0 External Interrupt Request 0
    .org 0x004
    reti                ; INT1 External Interrupt Request 1
    .org 0x006
    reti                ; INT2 External Interrupt Request 2
    .org 0x008
    reti                ; TIMER2 COMP Timer/Counter2 Compare Match
    .org 0x00A
    reti                ; TIMER2 OVF Timer/Counter2 Overflow
    .org 0x00C
    reti                ; TIMER1 CAPT Timer/Counter1 Capture Event
    .org 0x00E
    reti                ; TIMER1 COMPA Timer/Counter1 Compare Match A
    .org 0x010
    reti                ; TIMER1 COMPB Timer/Counter1 Compare Match B
    .org 0x012
    reti                ; TIMER1 OVF Timer/Counter1 Overflow
    .org 0x014
    reti                ; TIMER0 COMP Timer/Counter0 Compare Match
    .org 0x016
    rjmp timer_int      ; TIMER0 OVF Timer/Counter0 Overflow
    Gruß
    Searcher
    Geändert von Searcher (19.04.2016 um 08:58 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Timer triggert DMA, aber Overflow Flag wird nicht zurück gesetzt
    Von erik_wolfram im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 22.08.2014, 12:33
  2. Ausgang wird nicht richtig gesetzt
    Von TobiasBlome im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 18.09.2006, 20:02
  3. PORTD,4 wird nicht auf HIGH gesetzt
    Von Pitt1986 im Forum PIC Controller
    Antworten: 15
    Letzter Beitrag: 25.02.2006, 19:23
  4. Antworten: 8
    Letzter Beitrag: 18.05.2005, 21:21
  5. welches bit wird bei... gesetzt
    Von pebisoft im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 19.02.2005, 17:07

Berechtigungen

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

Solar Speicher und Akkus Tests