AnsweredAssumed Answered

BF592 not reaching main after SPORT interrupt

Question asked by spetca on Feb 13, 2015
Latest reply on Mar 16, 2015 by jobo23

I am setting up SPORT0 Interrupts as such:

 

void Init_Interrupts(void)

{

  *pSIC_IMASK0 |= IRQ_DMA2 | IRQ_DMA1;

  *pSIC_IAR1   |= 0xfffff23f ;

  register_handler(ik_ivg9, SPORT0_Tx_ISR);

  register_handler(ik_ivg10, SPORT0_Rx_ISR);

  *pIMASK      |= EVT_IVG9 | EVT_IVG10;

  ssync();

 

}

 

Then later I enable

 

void SPORT0_Enable(void)

{

 

  *pSPORT0_TCR1   |= TSPEN ;

// *pSPORT0_RCR1   |= RSPEN;

 

  ssync();

}

 

and it correctly interrupts to this routine. However while watching registers the DMA2_IRQ_STATUS register never toggles after it gets to the end of this isr, it steps to the last ssync() in the enable function above and interrupts again.

 

EX_INTERRUPT_HANDLER(SPORT0_Tx_ISR)

{

  *pDMA2_IRQ_STATUS |= 0x0001;

  ssync();

 

  *pSPORT0_TX16 = 0xafaf;

 

}

 

trying to do some processing in main() and it will not reach outside the enable and interrupt ISR

Outcomes