|
Prev: DFT/FFT in real time
Next: Matlab problem(pam signal)
From: tomek on 11 Dec 2005 10:31 hi, can anybody tell me what is wrong with my code for dsk6416, please. i'm expecting LED1 to blink every second(500ms on, 500ms off), by using HW interrupts. in dsp/bios configuration -> HW InterruptServiceRoutineManager i set timer1 as the interrupt source for HWI_INT15 and set function _tm1 to be called. the result is, that the function tm1() is called only once and that's it. i can get blinking of LED3 by using prd1() with PeriodicFunctionManager, but as soon as i start timer1 with TIMER_start(hTimer1); it is not working anymore. can anybody explain to me what is the problem? #include "dsk6416.h" // variable declaration static TIMER_Handle hTimer1; Uint32 Timer1Control = TIMER_CTL_RMK( TIMER_CTL_INVINP_DEFAULT, TIMER_CTL_CLKSRC_CPUOVR8, // Internal clock... TIMER_CTL_CP_DEFAULT, TIMER_CTL_HLD_DEFAULT, TIMER_CTL_GO_DEFAULT, TIMER_CTL_PWID_DEFAULT, TIMER_CTL_DATOUT_DEFAULT, TIMER_CTL_INVOUT_DEFAULT, TIMER_CTL_FUNC_DEFAULT ); Uint32 tm = 0; void main() { CSL_init(); DSK6416_init(); DSK6416_LED_init(); hTimer1 = TIMER_open(TIMER_DEV1, TIMER_OPEN_RESET); TIMER_configArgs(hTimer1, Timer1Control, 37500000, 0x00000000 ); IRQ_nmiEnable(); IRQ_globalEnable(); IRQ_reset(IRQ_EVT_TINT1); IRQ_disable(IRQ_EVT_TINT1); IRQ_clear(IRQ_EVT_TINT1); IRQ_enable(IRQ_EVT_TINT1); TIMER_start(hTimer1); }//end main() void prd1() { DSK6416_LED_toggle(3); }//end prd1() void tm1() { tm++; DSK6416_LED_toggle(1); }//end tm1
|
Pages: 1 Prev: DFT/FFT in real time Next: Matlab problem(pam signal) |