Bueno, algo he mejorado, por lo visto no se puede leer un puerto haciendo:
Variable = PORTC;
he implementado eso de otra manera para leer el teclado, pero justo despues de leer el teclado se hace necesario iniciar el LCD, y eso ralentiza mucho la lectura del teclado. Es te es el código del bucle:
while(1)//loop demos
{
DDRC =0b11000011 ; // enable outputs/imputs
DDRB =0b11111111 ; // enable outputs
Tecla = LeerTeclaPulsada();
LCDinit();//Esto ralentiza mucho la lectura, pero es necesario.
_delay_ms(25);
LCDGotoXY(8, 0);
LCDsendChar(Tecla+48);
}
Alguna idea?