Control PORTA simple a través de PIC

0

Estoy intentando configurar un simple LED parpadeante en un PIC18F25K50. Puedo hacer que RA0 cambie usando

LATAbits.LA0 = ~LATAbits.LA0;

Sin embargo, si trato de usar

LATAbits.LA0 = ~PORTAbits.RA0;

El LED permanece encendido.

Según la hoja de datos (entre otras fuentes), el registro PORT lee los niveles en Los pines, mientras que el registro LAT establece la salida. ¿Por qué el registro PORT no lee los niveles correctos? El circuito está abajo.

simular este circuito : esquema creado usando CircuitLab

    
pregunta aaron.anderson

1 respuesta

1

Sospecho que no has configurado correctamente el registro ANSELA.

El puerto configura de manera predeterminada sus pines con capacidad analógica en modo analógico, lo que significa que cuando los lea a través del registro PORTA, se leerán como 0, independientemente de cuál sea el nivel de voltaje realmente en el pin. Pero, todavía puedes establecer valores de salida, por lo que puedes cambiar el pin.

Por lo tanto, configure el bit 0 a 0 de ANSELA para configurarlo en modo digital (y para cualquier otro pin que piense usar como entrada) y podrá leer las entradas correctamente.

    
respondido por el brhans

Lea otras preguntas en las etiquetas