I am using an ATmega644P and using PA0 through PA7 as outputs - on or off and they need the internal pull down resistors set to on to function properly. Has anyone done this before? I understand that you can send a command in the program to set it ON. Please ;)
Just done a search of the ATmega644’s data sheet and there is no mention of an internal pull down resistor. Where did you here there was such a thing in this chip?
I finally found it and it is in the larger PDF (300 + pages). You can configure the internal resistors by commands which are listed.
12.2.1 Configuring the Pin Each port pin consists of three register bits: DDxn, PORTxn, and PINxn. As shown in ”Register Description” on page 84, the DDxn bits are accessed at the DDRx I/O address, the PORTxn bits at the PORTx I/O address, and the PINxn bits at the PINx I/O address. The DDxn bit in the DDRx Register selects the direction of this pin. If DDxn is written logic one, Pxn is configured as an output pin. If DDxn is written logic zero, Pxn is configured as an input pin. If PORTxn is written logic one when the pin is configured as an input pin, the pull-up resistor is activated. To switch the pull-up resistor off, PORTxn has to be written logic zero or the pin has to be configured as an output pin. The port pins are tri-stated when reset condition becomes active, even if no clocks are running.
Just as your extraction explains there is a optional programmable pull-UP resistor available for I/O pins that can be enabled or disabled, however there is not a pull-DOWN resistor option available.