Hola a todos,
Tengo un pequeño gran problema que me está volviendo loco. Quiero controlar un motor con la salida CCP1 y el PWM. El motor debe estar funcionando hasta que se pulsa un botón y para. El caso es que a veces me funciona y el motor para correctamente, y otras la salida se me queda a '1' constante y el motor gira a maxima velocidad.
Este es mi programa:
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=8000000)
#use standard_io(b)
#use standard_io(d)
#use standard_io(a)
#use standard_io(c)
#use standard_io(e)
#define BOTON PIN_B1
void main (void)
{
enable_interrupts(GLOBAL); /*Habilita interrupción global*/
enable_interrupts(INT_RTCC); /*Habilita interrupción del TIMERO*/
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
setup_timer_2(T2_DIV_BY_16,125,1);
setup_ccp1(CCP_PWM);
set_PWM1_duty(0);
while (BOTON)==0)
{
set_pwm1_duty(125);
}
set_pwm1_duty(0);
}
Que puede ser?? Alguna idea?
por favooorrr ayudaaaa!!! llevo ya bastantes días probando y no consigo dar con el problema!!!
Muchas gracias de antemano