Hola amigos, hace tiempo me está rondando algo en la cabeza y es que no he podido configurar estos dos pines como I/O.
Según la hoja de datos tengo que modificar el bit AS2 del registro ASSR para poder usar el pin PC6 o PC7 como I/O,
TOSC2, Timer Oscillator pin 2: When the AS2 bit in ASSR is set (one) to enable asyn-
chronous clocking of Timer/Counter2, pin PC7 is disconnected from the port, and
becomes the inverting output of the Oscillator amplifier. In this mode, a Crystal Oscillator
is connected to this pin, and the pin can not be used as an I/O pin.
pero aún así no me funciona, escribí un pequeño código donde se prende un LED durante un segundo para probar y no se que puede estar faltándome. Cualquier sugerencia es bienvenida
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
void main(void) {
volatile unsigned char i;
ASSR &= ~(1<<AS2);
//CONFIGURO PINCO COMO SALIDA
DDRC |= 1<<DDC0;
// CONFIGURO PINC6 COMO ENTRADA
DDRC &=~(1<<DDC6);
// coloco la resistencia pull-up
//PORTC &= ~(1<<PC6);
PORTC |= 1<<PC6;
for( ;; )
{
asm volatile("nop");
i= ~PINC & (1<<PC6);
if (i)
{ PORTC |=(1<<PC0);
_delay_ms(250);
_delay_ms(250);
_delay_ms(250);
_delay_ms(250);
PORTC &=~(1<<PC0);
}
}
}