Interrupt am Xmega256A3BU wird nicht aktiviert

Gast #3232492
Lesenswert?

Hallo zusammen.

Nachdem ich mich durch x Datenblätter und einigen Beispielcode gequält 
hab, bin ich trotzdem noch nicht dahintergekommen, warum mein Interrupt 
nicht aufgerufen wird.
Der Code läuft auf einem STK600, ich verwende Atmel Studio 6.0.1996 SP2 
und ein JTAG-ICE 3 am JTAG-Port des STK600.
Ist da irgendein offensichtlicher Fehler versteckt, der mir nicht 
auffällt?
Danke schonmal für die Hilfe.

Grüße,
Andi

1
#include <asf.h>
2
void clock_init(void);
3
void timer_init(void);
4

5
void clock_init (void)  // scheint zu funktionieren
6
{
7
  
8
  OSC.CTRL |= OSC_RC32MEN_bm;
9
  while(!(OSC.STATUS & OSC_RC32MRDY_bm));
10
  CCP = CCP_IOREG_gc;
11
  CLK.CTRL = CLK_SCLKSEL_RC32M_gc;
12
}
13

14
void timer_init(void){
15
  
16
  
17
  
18
PORTCFG.CLKEVOUT = PORTCFG_CLKOUT_PD7_gc;    // Clockoutput an PD7! funktioniert!
19

20
TCD0.PER = 4095;
21

22

23
TCD0.CTRLA = TC_CLKSEL_DIV1_gc;
24
TCD0.CTRLB = TC_WGMODE_SINGLESLOPE_gc;
25
TCD0.INTCTRLA = TC_OVFINTLVL_HI_gc;
26

27
  PMIC.CTRL = PMIC_HILVLEN_bm;
28

29
    sei();  
30
  
31
}
32

33
int main (void)
34
{
35
  board_init();
36
  clock_init();
37
  timer_init();
38

39
while(1){};
40
}
41

42
ISR (TCD0_OVF_vect)
43
{
44
  PORTB.OUTSET = PIN1_bm
45
  PORTB.OUTCLR = PIN1_bm;      
46
}
Gast #3233183
Lesenswert?

Also da ich erst vor 1 Jahr meine Lehre abgeschlossen habe bin ich mir 
nicht sicher. Aber uns wurde immer gesgat ISR MÜSSEN vor der main stehen 
da sie sonst nicht aufgerufen werden. Ich hab es nie ander ausprobiert 
aber villeicht ist es das ja schon


grüße

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