Part Number: F28M35H52C
The documentation says the M3 NVIC can handle interrupts from the Analog subsystem.
SPRUH22F section 11.3.7 : The ADC contains eight interrupts that can be flagged and/or passed on to the PIE and NVIC.
The ADC interrupts are indeed defined in MWare\inc\hw_ints.h.
On the C28, I configure ADCINT2 as I want it:
Adc2Regs.INTSEL1N2.bit.INT2E = 1; // Enabled ADCINT2
Adc2Regs.INTSEL1N2.bit.INT2CONT=1; //Enable ADCINT2 Continuous mode, also tried non-continuous mode
Adc2Regs.INTSEL1N2.bit.INT2SEL = 0xE; // setup EOC14 to trigger ADCINT2 for M3
On the M3, I use the driverlib for NVIC:
//Setup the interrupts for the ADC EOC14 interrupt:
IntEnable(INT_ADC2);
IntRegister(INT_ADC2, ADCHandler);
// Enable processor interrupts.
IntMasterEnable();
Where ADCHandler is the callback I've defined.
It is unclear to me how to acknowledge the interrupt from the M3 side. Should I use IntPendClear(INT_ADC2)?
Since the C28 PIE doesn't handle the interrupt, it doesn't seem like I should have to acknowledge the interrupt on the C28. But do I? Do I need to do anything else with the PIE?
When I do use the above code with IntPendClear(INT_ADC2) called in ADCHandler, the cores don't really run in the debugger and something keeps resetting them.
Previously I had a working example with the ADC Interrupt 1 executing on the C28 side. But I've been unsucessful getting an ADC interrupt to execute on the M3 side.
Ricky's last post on this thread: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/138792?Concerto-M3-can-use-adc- says what I'm trying should be possible.
Thanks. -Erik