I'm using an ADuC842 and I noticed that on the datasheet there are few and no
specific indications about the electrical characteristics of the internal
pull-up on port 3, can you provide more information?
The port 3 pins have a finite and non-linear output impedance i.e. the voltage
will change according to how much current you draw.
We specify this in the following way (see page 5 of the datasheet, section on
Voh output voltage high:
> 2.4V when Isource < 80uA and power supply >4.5V
> 4.0V when Isource < 20uA and power supply >4.5V
so basically, when you draw > 80uA from the part we can't guarantee that the
"high" voltage will stay above the 2.4V required to be a logic high in TTL.
This makes it a fairly weak output and shouldn't be used to drive anything that
needs significant current.
Port 3, Vol output voltage low:
< 0.4V when Isink < 8mA
This is a much more realistic situation for driving any external load, so you
should always refer the load to Vdd and drive the pin low to turn on the load,
rather than referring the load to ground and trying to drive the pin high.
In any case the part shouldn't sink more than 10mA per pin.