I'd like to use a ADC to read pushbutton values from an R2R ladder, but, to save power, don't want to continuously read the value.
Here's the plan (which exists only in my imagination):
Configure an input pin as a digital input with an interrupt on low/high transition. Power consumption=zero.
Interrupt occurs, reconfigure it as an analog input to read the value. Continuously read the value (which may include several different pushbutton patterns).
When all the buttons are released, the analog value should be (close to) zero. Wait a bit in case another button is pressed, then reconfigure back to a digital input.
I haven't tried 'yet, because I am hoping someone has. If it just doesn't work, I'll abandon the idea. If someone has made it work (or something similar) I'll pursue it further.
What resistor values would work? When all the buttons are open, the digital input is floating. Is this a problem? Do I need a pulldown resistor? If that adversly affects the balance of the R2R ladder, I can adjust for it in the software. There is really no reason for the bit pattern coming out of the ADC to match the pattern of the pushbuttons, as long as I can tell which button(s) is pressed.
Any other pitfalls? Your educated opinions are valued.