Subversion Repositories Code-Repo

Rev

Rev 107 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 107 Rev 111
Line 8... Line 8...
8
    TRISCbits.TRISC1 = 0;
8
    TRISCbits.TRISC1 = 0;
9
    LATCbits.LATC0 = 0;
9
    LATCbits.LATC0 = 0;
10
    LATCbits.LATC1 = 0;
10
    LATCbits.LATC1 = 0;
11
 
11
 
12
    RPOR11 = 14;    // Set RP11 to ECCP1 PWM Output Channel A
12
    RPOR11 = 14;    // Set RP11 to ECCP1 PWM Output Channel A
13
    RPOR12 = 18;    // Set RP12 to ECCP2 PWM Output Channel A
13
    RPOR12 = 15;    // Set RP12 to ECCP1 PWM Output Channel B
14
}
14
}
15
 
15
 
16
void pwm_start() {
16
void pwm_start() {
17
    OpenEPWM1(0xFF, ECCP_1_SEL_TMR12);
17
    OpenEPWM1(0xFF, ECCP_1_SEL_TMR12);  // 38kHz Frequency
-
 
18
    SetDCEPWM1(512);                    // 50% Duty Cycle
-
 
19
 
-
 
20
    // Wait for completion of a full PWM cycle before enabling output mode
18
    SetDCEPWM1(500);
21
    while(!PIR1bits.TMR2IF);
19
    SetOutputEPWM1(SINGLE_OUT, PWM_MODE_1);
22
    SetOutputEPWM1(SINGLE_OUT, PWM_MODE_1);
20
 
23
 
21
    OpenEPWM2(0xFF, ECCP_2_SEL_TMR12);
24
    // Enable ECCP1 output channels A and B
22
    SetDCEPWM2(500);
25
    PSTR1CONbits.STRA = 1;
23
    SetOutputEPWM2(SINGLE_OUT, PWM_MODE_1);
26
    PSTR1CONbits.STRB = 1;
24
}
27
}
25
 
28
 
26
void pwm_stop() {
29
void pwm_stop() {
27
    CloseEPWM1();
30
    CloseEPWM1();
28
    CloseEPWM2();
-
 
29
}
31
}
30
32