Hi all,
i am running the ADC in sequence mode, which grabs a bunch of channels (8 fixed then 1 which i want to switch between different inputs. The last one triggers a dma interrupt which moves the results.
At the very start of the dma isr, i toggle ENC bit off, change MCTL8 (last channel in sequence) to point to a new input, then toggle ENC back on.
It updates the last channel correctly, but it causes a blip in the FIRST channel (after the dma isr it begins a new sequence).
It seems like accessing the MCTLx is upsetting the multiplexer and is trapping some charge on the ADC S/H capacitor. i didn't think this should happen, as it should not be looking at MCTL8, but back at MCTL0 - but maybe im misundertanding how the ADC internals are working?
As a workaround i have added a 9th 'dummy' channel, which contains the blip, and i just discard it. this means the first channel is fine.
Is this a fundamental issue with the ADC, or is it worth trying to chase a solution (to save on the time taken by the extra channel)?
Thanks,
Michael.