PIC (16F627A) entradas invertidas

1

Tengo problemas con las entradas de mi PIC.

Hay algo como "valor predeterminado" en todas las entradas configuradas en 1 lógico, así que si quiero cambiar el estado, necesito pasar GND.

¿Cómo puedo girarlo "de lo contrario"? Esto es principio de mi código:

#include <htc.h>
#include <pic.h>
#include <pic16f627a.h>

__CONFIG(WDTE_OFF & PWRTE_OFF & FOSC_INTOSCCLK & MCLRE_OFF & BOREN_OFF & LVP_OFF & CPD_OFF & CP_OFF);

int main (void)
{
    unsigned int i, j;

    unsigned short count = 0;

    TRISA = 0;
    TRISB = 0b11110000;
    PORTA = 0;
    PORTB = 0;
    nRBPU = 0;
    CMCONbits.CM = 7;
    ...

No entiendo mucho la electrónica y también soy algo nuevo en la programación en C.

Gracias por cualquier ayuda.

    
pregunta grongor

1 respuesta

1

Este fenómeno se conoce como resistencia de extracción. Como se ve en wikipedia página, se usa ampliamente junto con un interruptor físico. Cuando se lo presiona, el interruptor "tira" la entrada hacia abajo, superando la alta impedancia de la resistencia.

Además, en algunas MCU hay una opción para invertir la función del pin. Por ejemplo, en el AVR XMega, puede configurarlo para que se invierta tanto la entrada como la salida. No estoy seguro de si este PIC específico es compatible con dicha función. Tendrás que cavar a través de la hoja de datos.

    
respondido por el Dzarda

Lea otras preguntas en las etiquetas