	<sect1 id="pwm" xreflabel="pwm">
		<title>M&oacute;dulo PWM</title>
		<para> 
			Muestra las funciones para poder trabajar con el m&oacute;dulo PWM Interno de los PIC.Todas las ecuaciones estan en segundos.Tosc  es la inversa de la frecuencia del cristal FOSC_HZ.
		</para>

		<para>
		<screen>
	Periodo=(Pr2+1)*4*Tosc*PreescalerTMR2
	TiempoPulsoAlto=CCPR1L_CCP1CON54*Tosc*PreEscalerTmr2
		</screen>
		</para>
		<screen>
	#include &lt;pwm.h&gt;

	#define TMR2_PREESCALER_1  0
	#define TMR2_PREESCALER_4  1
	#define TMR2_PREESCALER_16 2
		</screen>
		<sect2 id="pwm1setdata" xreflabel="pwm1_set_data">
		<title>pwm1_set_data</title>
		<para>Configura el m&oacute;dulo PWM1 del PIC, es necesario indicar el Preescaler y el CCPR1L_CCP1CON54</para>
		<screen>
void pwm1_set_data( BYTE Pr2,BYTE PreescalerTMR2,int16 CCPR1L_CCP1CON54);
		</screen>
		</sect2>

		<sect2 id="pwm2setdata" xreflabel="pwm2_set_data">
		<title>pwm2_set_data</title>
		<para>Configura el m&oacute;dulo PWM2 del PIC, es necesario indicar el Preescaler y el CCPR2L_CCP2CON54</para>		<screen>
void pwm2_set_data( BYTE Pr2,BYTE PreescalerTMR2,int16 CCPR2L_CCP2CON54);
		</screen>
		</sect2>

		<sect2 id="ejemplopwm" xreflabel="Ejemplo Pwm">
		<title>Ejemplo de PWM</title>
		<para>
		para compilar necesitas los siguientes comandos
		</para>
		<para>
		<screen>
Ejemplo de compilacion : ./compila.sh ej_pwm 16f877a
		</screen>
		</para>
		<para>
		ej_pwm.c
		</para>
		<screen>
#include &lt;pic/p16f877a.h&gt;

#define FOSC_HZ 20000000

#include &lt;delayms.h&gt;
#include &lt;pwm.h&gt;

int main (void)
{
	delayms(100);

	pwm1_set_data(224,TMR2_PREESCALER_1,301);
	pwm2_set_data(224,TMR2_PREESCALER_1,301);

	while(TRUE);
	return 0;
}
		</screen>
		</sect2>
		
	</sect1>
