Olá estou com dificuldades de utilizar as interrupções no coldfire 5329, estou utilizando a placa de desenvolvimento MCF5329EVB. Fiz um codigo mas não tá funcionando. Tento utilizar a interupção PIT0_handler , mas não da certo.
int count;
__declspec(interrupt) void PIT0_handler (void)
{
MCF_PIT0_PCSR |= MCF_PIT_PCSR_PIF;
count++;
}
int main()
{
uart_init(0, 62000, 9600, 1);
//MCF_INTC1_ICONFIG = 0x8020;
MCF_INTC1_ICR43 = 0x07;
MCF_PIT1_PMR = ~MCF_INTC_IMRH_INT_MASK43;
//MCF_INTC1_CLMASK = MCF_INTC_CLMASK_CLMASK(1);
//MCF_INTC1_SLMASK = MCF_INTC_SLMASK_SLMASK(1);
mcf5xxx_set_handler(128+43,PIT0_handler);
mcf5xxx_irq_enable ();
MCF_PIT0_PMR = 0x0FFF;
MCF_PIT0_PCSR |= MCF_PIT_PCSR_PREE;
MCF_PIT0_PCSR |= ~MCF_PIT_PCSR_DOZE;
MCF_PIT0_PCSR |= ~MCF_PIT_PCSR_HALTED;
MCF_PIT0_PCSR |= MCF_PIT_PCSR_OVW;
MCF_PIT0_PCSR |= MCF_PIT_PCSR_PIE;
MCF_PIT0_PCSR |= MCF_PIT_PCSR_PIF;
MCF_PIT0_PCSR |= MCF_PIT_PCSR_RLD;
MCF_PIT0_PCSR |= MCF_PIT_PCSR_EN;
MCF_GPIO_PAR_TIMER = 0x00;
MCF_GPIO_PDDR_TIMER = MCF_GPIO_PDDR_TIMER_PDDR_TIMER3 = MCF_GPIO_PDDR_TIMER_PDDR_TIMER3;
MCF_GPIO_PCLRR_TIMER = 0x00;
for(;;)
{
if(count >= 10000)
{
count = 0;
}
}
}