Hola Todos!!. Agradeceria saber si alguien puede ayudarme con lo siguiente:
Hace un mes configuere el PWM para manejar dos motores con un pic 18f452, utilizando los CCP1CON y el CCP2CON, de la manera como se puede observar:
void Configuracion_PWM(void)
{
PR2=0xFF; Configuro el Periodo del PWM a 255 para tener una menor frecuencia
CCP1CONbits.DC1B1=DUTY_PWM1bits.BIT1; // Configuro LSB en CCP1CON
CCP1CONbits.DC1B0=DUTY_PWM1bits.BIT0; // Configuro LSB en CCP1CON
CCPR1L=DUTY_PWM1>>2; // Configuro el Ciclo Util (MSB) PWM1
CCP2CONbits.DC2B1=DUTY_PWM2bits.BIT1; // Configuro LSB en CCP1CON
CCP2CONbits.DC2B0=DUTY_PWM2bits.BIT0; // Configuro LSB en CCP1CON
CCPR2L=DUTY_PWM2>>2; // Configuro el Ciclo Util (MSB) PWM2
TRISCbits.TRISC2=0; // Se habilita como salida del PWM 1__MOTOR DER
TRISCbits.TRISC1=0; // Se habilita como salida del PWM 2 _MOTOR IZQ
TRISBbits.TRISB4=0; // Se habilita como salida de la Dir PWM 1 __MOTOR DER
TRISBbits.TRISB5=0; // Se habilita como salida de la Dir PWM 2__MOTOR IZQ
T2CONbits.TMR2ON=1; //PRENDER EL TIMER2
T2CONbits.T2CKPS1=1;
T2CONbits.T2CKPS0=1; // Configura el Pre-Escaler a 16
CCP1CONbits.CCP1M3=1;
CCP1CONbits.CCP1M2=1;
CCP1CONbits.CCP1M1=0;
CCP1CONbits.CCP1M0=0; // Habilito el modo PWM 1 del Motor Derecho
CCP2CONbits.CCP2M3=1;
CCP2CONbits.CCP2M2=1;
CCP2CONbits.CCP2M1=0;
CCP2CONbits.CCP2M0=0; // Habilito el modo PWM 2 del Motor IZQ
}
Este programa corre y funciona correctamente, el problema es que en mi proyecto debo emplear un sistema operativo que utliza el timer 2 y por tal razon los registros que estan relacionados con el CCP1CON. Mi pregunta es entonces ..... Es posible configurar el PWM solo con el registro CCP2CON para asi no tener que mezclar y evitar problemas al poner la configuracion del PWM para los motores dentro del sistema operativo?...
Muchas gracias por la atencion y estare super atenta a cualquier ayuda que puedan regalarme....
Espero tengan una muy buena tarde de Domingo,
Cordial Saludo,
Moneditas