Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[PIC18F4620] przerwanie od CCP2 (RB3)

gruszex 13 Sie 2009 00:23 899 1
  • #1 13 Sie 2009 00:23
    gruszex
    Poziom 10  

    Witam,

    jestem bardzo początkujący w picach i mam problem z przerwaniem od CCP2.
    Mam płytkę uruchomieniową picdem-z i muszę sprawić aby zbocze (najlepiej narastające albo stan wysoki) na RB3 wywoływało przerwanie (CCP2IF). Do tej pory (niedziałająca) konfiguracja pica wygląda mniej więcej tak (wycinki kodu):

    Code:
        #pragma romdata CONFIG3H = 0x300005
    
        const rom unsigned char config3H = 0b10000000;      // PORTB digital on RESET and CCP2 interrupt is generated from the RB3 pin


       INTCON3 = 0;
       PIE1 = 0; //   disable
       PIE2 = 0; //   all interrupts
       CCP2IE = 1; //enable only ccp2
       CCP2IP = 1;
        IPEN = 1;
        GIEH = 1;


    Co jeszcze muszę ustawić? Jest dość dużo rejestrów konfigurujących CCP i do tego coś tam jeszcze jest grane z timerami ale strasznie zawiła jest ta dokumentacja :/

    --edit--
    dobra, jakoś się przegryzłem, potrzebne było:
    Code:
    CCP2CON = 0x05; //capture on every rising edge

    0 1
  • #2 26 Sie 2009 19:04
    CDMaster
    Poziom 14  

    Rozumiem, że to musi być wykorzystany CCP, a nie INT0-2??:D
    W takim razie chyba trzeba tylko ustawić w stan Capture, czyli:

    Code:
    CCP2CON=0x05;
    do tego jeszcze musisz ustawić odpowiednio TRISB i config3h, który widzę, że już ustawiłeś:D potem włączyć przerwanie w odpowiednim PIE, oczywiście wcześniej czyszcząc flagę CCP2IF. Nie zapomnij o czyszczeniu tej flagi po każdym przerwaniu.
    Pozdrawiam

    0