Конфигурация функции ввода ввода PIC18F46K22 - PullRequest
0 голосов
/ 24 октября 2018

Я использую PIC18F46K22 для измерения времени, которое проходит между двумя событиями (нарастающими фронтами прямоугольной волны), используя режим захвата входа.Я настроил соответствующие регистры, но я не знаю, потому что код не работает;Я покажу вам сводку моего кода.Это часть кода в основной функции, которая настраивает ввод ввода:

//IC configuration
    //Input Capture is RC1 (pin 12), TMR1 is used
TRISCbits.RC1 = 1;
CCPTMRS0bits.C2TSEL1 = 0;
CCPTMRS0bits.C2TSEL0 = 0;

PIE2bits.CCP2IE = 1;
PIR2bits.CCP2IF = 0;
    //IC on every rising edge
CCP2CONbits.CCP2M3 = 0;
CCP2CONbits.CCP2M2 = 1;
CCP2CONbits.CCP2M1 = 0;
CCP2CONbits.CCP2M0 = 1;

И это код ISR:

void interrupt ISR(void) {    
    if(PIR2bits.CCP2IF) {
        PIR2bits.CCP2IF = 0;

       //code...
    }    
}

Что не так или отсутствует в конфигурации?

Спасибо!

...