Hola amigos. Estoy estancado en un problema al parecer bastante simple: Quiero configurar 3 pines del puerto C como salidas y el resto como entradas. Implementé el código como debería ser (aparentemente) y funciona con el problema que las resistencias de Pull Up no están activadas (me doy cuenta porque toman ruido al tocar los pines con los dedos y el código funciona perfectamente si le agrego externamente las resistencias).
Este es la parte del código:
//CONFIGURACION DEL PUERTO
DDRC = 0b00000111;
PORTC = 0b11111000;
.
.
.
.
//FUNCION QUE LLAMO PARA DETECTAR QUE SE PRESIONO UNA TECLA (NOTESE QUE PORTB TAMBIEN ES ENTRADA)
static uchar keyPressed(void)
{ uchar i, Mascara, Puerto;
Puerto = PINB;
Mascara = 1;
for(i=1;i<=8;++i)
{
if((Puerto & Mascara)==0) return(i);
Mascara<<=1;
}
Puerto = PINC;
Mascara = 8;
for(i=9;i<=13;++i)
{
if((Puerto & Mascara)==0) return(i);
Mascara<<=1;
}
return(0);
}
REPITO: Esto funciona si agrego externamente las resistencias de Pull Up... alguna idea?
Saludos!