Obtuve un ATmega8515 y este código simple dentro de main ():
void main(void) {
DDRD = 0xFF;
PORTD = 0xFF;
while(1){}
}
Espero ver todos los pines en alto, pero el PD5-PD7 todavía está en estado alto-Z. No se configura una función alternativa, ¡estas son las primeras líneas de la función! ¿Alguna idea por favor? ¿Es un error de compilación?
Probé esto en dos MCU comprados a diferentes proveedores, no es probable que ambos estén defectuosos.
P.S. Uso cross-avr-gcc 5.4.0-1.14 en openSUSE 42.3
P.P.S. De vez en cuando me enfrentaba a algo similar, jugar con las banderas de optimización (-O) ayudaba. No lo hace ahora.