Timer Interrupt Routine - Xmega 128 A1

Gast #4235764
Lesenswert?

Guten Tag Zusammen,

ich versuche mit einem Xplained  -Atxmega128a1 einen Timer Interrupt 
hinzubekommen.

Der µC soll nur in die ISR und LED an Port E deaktivieren. Ich möchte 
nur sehen dass er prinzipiell geht.


Habe dazu einen Code fehlerfrei compilliert.
Jedoch wird die Interrupt Routine nie aufgerufen.

Kann mir jemand helfen und sagen wo das Problem liegen könnte?

Danke für die Hilfe !

Gruß,
Markus



#include <avr/io.h>
#include <avr/interrupt.h>

void initialisierung(void);

int main (void)
{
  PORTE.DIR = 0xff;        //port as output
  PORTR.DIR = 0x00;      // PORTD PIN0 as input

  PORTR.PIN0CTRL= 0b00011000;

  PORTE.OUT = 0xff;

  initialisierung();


  int k = 1;


  while (1) {

    k++;


    }

}



void initialisierung(void)
{
  cli(); // Interrupts deaktivieren

  TCC0.CTRLA = TC_CLKSEL_DIV1024_gc; // Presacler 1024
  TCC0.CTRLB = 0x00; // select Modus: Normal
  TCC0.PER = 0x32; // Zähler Top-Wert
  TCC0.CNT = 0x00; // Zähler zurücksetzen
  TCC0.INTCTRLA = 0b00000011; // Interrupt Highlevel

  //################# Interrupts High-,Medium- und Lowlevel freigeben
  PMIC.CTRL |= PMIC_HILVLEN_bm |PMIC_MEDLVLEN_bm|PMIC_LOLVLEN_bm;

  sei(); // Interrupts aktivieren
}



  ISR(TCC0_OVF_vect)
  {
    PORTE.OUT = 0x00;
        }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren