bolbol:
my solution is based of the configuration of the ADC of the ATmega 2560 and i got this informations from the datasheet of CPU ATmega 2560, so we can eliminate the residual charge,
Can you post a link to the datasheet from which you got that information. It is not in my datasheet.
I can't help feeling you are just duplicating with registers what is being done when you read the ADC twice using analogRead() and discard the first reading.
...R