This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC430 disable DMA interrupt help

Other Parts Discussed in Thread: CC430F5137

Hi,

I am currently using the CC430F5137 microcontroller.

I wanted to know how to disable this interrupt.

Here is the example code of the DMA interrupt

#pragma vector=DMA_VECTOR
__interrupt void Dma(void)
{
// Check if DMA is busy, if not, set proper variable
if (DMA0CTL & DMAIFG)
{
DMA0CTL &= ~DMAIFG;
DMA_busy = 0;
}
__bic_SR_register_on_exit(LPM3_bits);
}

I know I can disable the global interrupt with _DINT() or _disable_interrupt()
these interrupt functions only disabled my timer interrupt which is the one below but not the DMA interrupt above. 
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
if(delay_ms)
delay_ms--;
}

Can you tell me how to disable the DMA interrupt ? This is very important for me

Thanks
David
  • You don't need to disable the DMA interrupt. You only have to not enable it. After power-up, no interrupt is enabled. You manually enable them by setting the corresponding IE bits (that's hwy the are called xxxIE for Interrupt Enable'). So the name GIE is wrong., It does not globally enable the interrupt, it globally disables them if not set. But alone by setting GIE, no interrupt is enabled at all.

    So if you not explicitely set DAMIE bit in DMAxCTL, no interrupt will be triggered. Only the DMAIFG bit is set, so you can check it in software. But no ISR is called.

**Attention** This is a public forum