2019-06-04 02:01 AM
I am using St microcontroller( STM32F030C6). In my project I am using ADC to measure voltage and current values. Also we are triggering DMA interrupt once the ADC conversion finish for multiple channels. Once we receive the interrupt we disble DMA and stop adc conversion. We again restart adc conversion inside a timer interrupt which is operating at 16khz frequency. Now the problem is that after sometime of program execution, dma interrupt stops coming.
What we analyze that ADSTART and ADSTP bits of ADC CR register were high when DMA interrupt stopped. By data sheet we came to know that these bits need to be cleared by the hardware.
Kindly suggest why these bits are not cleared by the hardware and how long does it take for the peripheral to clear bits. Also what will be the behavior of ADC peripheral if we supply yet another commend while the transition for these bits is taking place.
2019-06-04 03:37 AM
Isn't there an ADC overrun (i.e. ADC_ISR.OVR set)?
JW