Hey, I've been programming higher level laguages writing windows apps in c++/c# for years now, but increasingly I am being put to work at a lower level with 8051 micro-controllers. Having a very minimal background in electronics I have found a lot of things difficult in understanding a data sheet.
In particular I am having trouble understanding when I should set a GPIO port to open-drain or push pull, or when to use weak pullups & high impedance.
Is there any simple explanation you guys can offer for this, or better yet is there a good resource for learning enough about the hardware (in particular this open-drain /push pull stuff), well enough in order to program it?
Thanks for your time!