hola tengo el siguiente programa para generar un pwm con un dspic:
#include <p30f4011.h>
void main ()
{
PTCONbits.PTMOD=0x0; //modo free running
PTPER=0x000e;
PDC1=0x000e;
PTCONbits.PTCKPS=0x3; //prescaler a 64
PWMCON1bits.PEN1L=1;
PWMCON1bits.PEN1H=1; //habilitamos salida high1
PWMCON1bits.PEN2L=0;
PWMCON1bits.PEN2H=0;
PWMCON1bits.PEN3L=0;
PWMCON1bits.PEN3H=0;
PTCONbits.PTEN=1; //habilitamos PWM1
while(1);
}
los valores del periodo y el duty cycle parecen correctos, pero la señal que obtengo no es estable, es decir tiene unas pequenísimas variaciones del período, que hacen que esté "bailando" continuamente. Tengo otro pwm generado con un pic16f876a con la misma señal y el resultado en el osciloscopio es una señal totalmente estable en la pantalla. Esta en cambio como os digo está como "temblorosa" y es por causa de que tiene unas pequeñas oscilaciones en el período, ¿por qué puede ser, me falta algo en el código?
un saludo.