PIC16F1827 ¿El sensor táctil capacitivo no incrementa el temporizador?

0

Así que tengo un PIC16F1827 en una placa de pruebas y estaba tratando de obtener una demostración simple trabajando donde toco un cable para encender un LED usando el Módulo de detección capacitiva. Principalmente salí de este ejemplo que encontré , cruzado Haciendo referencia a la sección 27 de la hoja de datos para hacer cualquier corrección. Sin embargo, a pesar de mis mejores esfuerzos, no hará nada. De lo que puedo reunir, el Timer1 no se incrementa en absoluto, solo se sienta a 0. ¿Puede alguien ayudarme a averiguar lo que he arruinado aquí?

int count = 0;
int thresh = 0;

void main(void)
{
    // initialize the device
    SYSTEM_Initialize();
    SWDTEN = 0;

    TRISA1 = 0;
    RA1 = 0;
    // Set B5 as analog input
    TRISB5 = 1;
    ANSB5 = 1;
    // Set CPS module as Timer1 clock source
    T1CON = 0b11000100;
    T1GCON = 0;
    // Set CPS range to high and channel to 8(B5)
    CPSCON0 = 0b10001100;
    CPSCON1 = 0b1000;

    TMR1ON = 1;
    TMR1 = 0;
    __delay_ms(16);
    TMR1ON = 0;
    thresh = TMR1 * 8 / 10;;
    TMR1 = 0;
    TMR1ON = 1;
    //SWDTEN = 1;
    //SLEEP();
    __delay_ms(16);

    while (1)
    {
       TMR1ON = 0;
       count = TMR1;
       RA1 = count < thresh;
       TMR1 = 0;
       TMR1ON = 1;
       //SWDTEN = 1;
       //SLEEP();
       __delay_ms(16);
    }
}
    
pregunta Austin Leydecker

1 respuesta

0

Lo descubrí. Resulta que tenía el canal configurado incorrectamente, el pin B5 es el canal 7, no el 8. ¡Parece que todo funciona como se esperaba ahora!

    
respondido por el Austin Leydecker

Lea otras preguntas en las etiquetas