Estoy trabajando en PIC18F4550.
He configurado PORTA Pin0-Pin3 como entradas usando el siguiente código
PORTA=0X00;
LATA=0X00;
ADCON1=0x0F;
CMCON = 0x07;
TRISA =0XCF;
y PORTE como salidas usando el siguiente código
TRISEbits.TRISE0=0
TRISEbits.TRISE1=0;
TRISEbits.TRISE2=0;
He conectado un teclado pasivo a estos pines y solo estoy escaneando las entradas haciendo las salidas 1 a la vez.
Pero estoy obteniendo valores muy erráticos en el registro PORTA. Incluso traté de depurar utilizando pickit3. Establecí un punto de interrupción justo después de hacer la salida 1 y antes de buscar entradas. El registro PORTA está cambiando de manera caprichosa incluso cuando no he presionado ninguna tecla. Por favor, sugiere lo que podría estar haciendo mal.