TMS32F2812 interrupt problem
Hello, I’m having some problems whit my program, I can´t make it run the interruption, hope that somebody can help me with this.
void conf_intrrupt_muestra (void)
{
// Disable watchdog module
SysCtrlRegs.WDCR= 0x0068;
// reset wd counter
SysCtrlRegs.WDKEY= 0x0055;
SysCtrlRegs.WDKEY= 0x00AA;
DINT; // Disable and clear all CPU interrupts:
IER = 0x0000;
IFR = 0x0000;
// Enable EVB clock
SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;
EALLOW;
SysCtrlRegs.HISPCP.all = 4; // HSPCLK = SYSCLKOUT / 4 = 18.75MHz (150M/8)
EDIS;
// Initialize EVB Timer 4:
// Setup Timer 4 Registers (EV B)
EvbRegs.GPTCONB.bit.T4TOADC = 0; // configure GPTCONB not to start ADC on GPT4 Event
EvbRegs.T4PR = DemoPWMS.pwm_period; // set GPT4 timer period (3750*n => 5Khz/n)/
EvbRegs.T4CNT = 0x0000; // reset GPT4 counter register
EvbRegs.T4CON.all = 0x1002; // set GPT4 configuration register
// Reassign the PIE vector for T2PINT, RXAINT and TXAINT
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.T4PINT = &t4per_isr;
PieVectTable.RXAINT = SCIARX_ISR_ADDR; // restore SCI RX interrupt address
PieVectTable.TXAINT = SCIATX_ISR_ADDR; // restore SCI TX interrupt address
EDIS; // This is needed to disable write to EALLOW protected registers
// Enable PIE interrupts for T2PINT
PieCtrlRegs.PIEIER5.bit.INTx1 = 1; // Enable PIE group 5 (INT5) interrupt 1 for T4PINT
// Enable more interrupts from this timer
EvbRegs.EVBIMRB.bit.T4PINT = 1;
// Enable CPU INT5 for T4PINT
IER |= M_INT5; // Habilita la interrupcion para el contador
IER |= M_INT9; // Habilita la interrupcion para el monitor
// Enable global Interrupts and higher priority real-time debug events:
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
// Start Timer 4:
EvbRegs.T4CON.bit.TENABLE = 1;
EvaRegs.T1CON.bit.TENABLE = 1; // Start GPT1 counter
EvbRegs.T3CON.bit.TENABLE = 1; // Start GPT3 counter.
}
interrupt void t4per_isr(void)
{
ialfa_ref_ent=0;
return;
}
Thanks for the help