Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 118 → Rev 119

/PIC Stuff/PIC_27J13/pwm.c
0,0 → 1,31
#include "maindefs.h"
#include "pwm.h"
#include <pwm.h>
 
void pwm_init() {
// Configure pins RC5 and RC7 as outputs
TRISCbits.TRISC0 = 0;
TRISCbits.TRISC1 = 0;
LATCbits.LATC0 = 0;
LATCbits.LATC1 = 0;
 
RPOR11 = 14; // Set RP11 to ECCP1 PWM Output Channel A
RPOR12 = 15; // Set RP12 to ECCP1 PWM Output Channel B
}
 
void pwm_start() {
OpenEPWM1(0xFF, ECCP_1_SEL_TMR12); // 38kHz Frequency
SetDCEPWM1(512); // 50% Duty Cycle
 
// Wait for completion of a full PWM cycle before enabling output mode
while(!PIR1bits.TMR2IF);
SetOutputEPWM1(SINGLE_OUT, PWM_MODE_1);
 
// Enable ECCP1 output channels A and B
PSTR1CONbits.STRA = 1;
PSTR1CONbits.STRB = 1;
}
 
void pwm_stop() {
CloseEPWM1();
}