I just did the measurement myself and I got the same result. I suspect that we see that voltage because when you measure p21 (or any other pin) to ground, you form a voltage divider between the internal resistance of your meter and the pull up resistance of the pin. If you measure the voltage from p21 to VOUT, you get zero volts (because there is very very very little current across the internal pull up resistor)
To get 2.3V at the pin, it means that the pull up resistance is about half of the meter resistance. Most meters have a rather large input resistance when measuring voltage to prevent exactly this effect, but it seems the pull up resistor is very large itself! Maybe someone with a higher quality meter (i.e. higher impedance) can help us out...
Personally, I wouldn't rely on such a high pullup resistance and would use external resistance if possible.
Hello,
My name is Ryan. I have a question about the mbed's GPIO pins. With a blank program (so all the IO pins should be pulled-up), I measure the voltage between an IO pin and GND I measure approximately 2.3V. I also get 2.3V if I enable a pullup on the pin with this program:
I was expecting to get 3.3V because NXP's block diagrams for how the LPC17XX work show a "weak pull-up" is connected to VDD, which is the same as where the "strong pull-up" is connected to. Is 2.3V correct? Are my two mbeds damaged?
- Ryan