En principio agradecer la atencion que mostrais. Lo segundo el fin del proyecto con seguridad no lo se, ya lo he comentado que es un amigote que me ha pedido consejo y le estoy echando una mano. Con proteus, logro simular hasta 2 PWM,los dos que trae, y la simulación no me hace lo que quiero conseguir, este es el código:
void main (void){
long delta,value,delta2,value2;
float periodo;
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
setup_timer_2(T2_DIV_BY_1,10,1);//creo que en vez de utilizar el timer2 debería de utilizar el 1
//pero esto setup_timer_1(T1_DIV_BY_1,10,1); me da problemas de compilación, concretamente me dicce que falta
//un parentesis
setup_timer_2(T2_DIV_BY_1,5,1);
delta=44;
while(1){
for(value=4;value<=delta;value=value+4){
set_pwm1_duty(value);//value*4*(1/clock)*t2div=microsegundos=delta
set_pwm2_duty(value/4);
//value=
//T=seteo del timer-->setup_timer_2(el valor introducido aqui)
delay_ms(2);
}
for(value=delta;value>=4;value=value-4){
set_pwm1_duty(value);//value*4*(1/clock)*t2div=microsegundos=delta
//value=
//T=seteo del timer-->setup_timer_2(el valor introducido aqui)
delay_ms(2);
}
}
El primer for recorre T aumentando el tiempo en que el dispositivo está en uno. La opción de nocturno me a parecido buenísima, le echaré un vistazo al link que me has puesto maunix, y por supuesto voy a ver como funciona ese 18F4431, por que si es como dices es una maravilla. Gracias nuevamente desde Huelva.