Part Number: TMS320F280025C
Hi,
Here my code run correctly, but what about "__interrupt" to delcare an interrupt because my interrupt doesn't work when I don't declare it like this. When __interrupt is absent "Adc_index = 0" at each loop turn so my buffer isn't complete.
__interrupt void isr_adc(void)
{
// Record ADC value
Vout_samples[Adc_index] = ADC_readResult(VOUT_ADCRESULTREGBASE, VOUT_ADC_SOC_NO);
Adc_index++;
if(Adc_index >= SAMPLES)
{
Adc_index = 0;
adc_bufferfull = 1;
}
ADC_clearInterruptStatus(ADCC_BASE, VOUT_ADC_INT_NUMBER); // Clear the interrupt flag
if(ADC_getInterruptOverflowStatus(ADCC_BASE, VOUT_ADC_INT_NUMBER) == true) // Check if overflow has occurred
{
ADC_clearInterruptOverflowStatus(ADCC_BASE, VOUT_ADC_INT_NUMBER);
ADC_clearInterruptStatus(ADCC_BASE, VOUT_ADC_INT_NUMBER);
}
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP1); // Acknowledge the interrupt
}
For me the interrupt mapping is make by "Interrupt_register(INT_ADCC1, &isr_adc);". There is more than that ?
Thanks,
Damien