Hi,
i'm trying to use timers (TIMER1) in C5515 eZdsp board WITHOUT USING CSL.
I have defined:
timers.h
// Define timer registers (TIMER1) #define TCR1 *(ioport volatile unsigned *)(0x1850) #define T1PRD1 *(ioport volatile unsigned *)(0x1852) #define T1PRD2 *(ioport volatile unsigned *)(0x1853) #define T1CNT1 *(ioport volatile unsigned *)(0x1854) #define T1CNT2 *(ioport volatile unsigned *)(0x1855) #define IERT1 *(ioport volatile unsigned *)(0x1816) #define TIAFR *(ioport volatile unsigned *)(0x1C14) void init_timer(void); void start_timer(void); void stop_timer(void);
timers.c
void init_timer(){ TCR1 = 0x8000; // PRD 1 sec con CPU a 100 Mhz T1PRD1 = 0x86A0; //LSW T1PRD2 = 0x000F; //MSW } void start_timer(){ TCR1 = 0x8001; } void stop_timer(void){ TCR1 = 0x8000; }
And the significant piece of my main code:
... init_timer(); start_timer(); while(1); ... ... interrupt void Timer_Isr(void){ printf("\n interrupt \n"); }
I have defined Timer_Isr in vector.asm like this:
.global _Timer_Isr ... ... .sect "vector" .align 256 ... ... TINT1: .ivec _Timer_Isr ; Timer #0 / Software Interrupt #4
PLL at 100 Mhz
My ISR Timer_Isr is never called.
Any suggestion?
Thanks a lot
Paolo