Ke tal!! pues en el post que te di lo explico lo que es, jeje me abre explicado mal, haber este modulo es para realizar pulsos de anchura variables vamos lo que se llama en ingles Duty Cycle, va relacionado con la parte alta del TMR2, el TMR2 es de 8bits por lo tanto solo para este modulo tendremos 4 bits para la configuracion de la anchura del pulso.
Pulso de anchura variable:
Codigo:
----- -----
| |___| |_
------=Anchura de pulso
-----------=Periodo
No se, por ejemplo ese, el periodo lo definimos con la formula
Codigo:
Periodo=[ (PR2)+1] · 4 · Tosc · Valor Preescaler PR2
Y la anchura se puede definir en CCS mediante set_pwm1_duty (value);
de todas formas mirate la ayuda del compilador y observa las funciones sobre este modulo....Suerte!!!
Buenas!!! bien, como dice piriots, a frecuencias fijas(por lo que tenemos un periodo constante) podemos obtener variacion en la anchura del pulso, mirate los ejemplitos en c donde el ultimo(45 creo) se maneja dicho periferico, eso si en el ejemplito la anchura de pulsos es constante tambien, eso si quieres lo puedes modificar yo solamente lo he programado a modo de prueba, para cambiar la anchura del pulso puedes poner un potenciometro conectado a un A/D y tal y mediante esta funcion
Codigo:
set_pwm1_duty(value);
le cambias la anchura dl pulso, donde la variable value debere albergar la lectura del potenciometro.....bueno aqui el enlace del ejemplo del PWM
http://miarroba.com/foros/ver.php?foroid=46840&temaid=4061462
Suerte!!!