- 12V Akku mit 280 Ah bauen    Werbung      
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.720
    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
  •  

    Werbung      Labornetzteil AliExpress