estoy tratando de hacer un ejemplo simple de PWM en el programa mikroC usando el simulador ISIS para pic16f877a y usé el código en la ayuda del programa y no funcionó
for(;;)
{
Pwm_Init(5000);
pwm_start();
delay_ms(500);
}
estoy tratando de hacer un ejemplo simple de PWM en el programa mikroC usando el simulador ISIS para pic16f877a y usé el código en la ayuda del programa y no funcionó
for(;;)
{
Pwm_Init(5000);
pwm_start();
delay_ms(500);
}
PWM necesita al menos 2 parámetros. Solo suministra el 5000, que probablemente será la frecuencia, pero ¿qué pasa con el ciclo de trabajo? Si no lo inicializa y el valor predeterminado es 0 o 100%, entonces no verá nada.
editar
Aparece debe llamar a la función Pwm_Change_Duty()
con un valor entre 0 (mínimo) y 255 (máximo) para establecer el ciclo de trabajo.
fin de la edición
La mayoría de los microcontroladores con PWM tendrán más de 1 canal PWM, por lo que tendrá que decirle al programa qué canal desea usar también.
Además, no sé qué hacen exactamente Pwm_Init () y Pwm_start (), pero normalmente deberían estar fuera de su bucle principal. Ahora los estás ejecutando una y otra vez. La OMI debería ser
Pwm_Init(5000);
pwm_start();
for(;;)
{
delay_ms(500);
},
y luego el retraso () no tiene ninguna función, por lo que puedes omitirlo:
Pwm_Init(5000);
pwm_start();
for(;;)
{
}.
Lea otras preguntas en las etiquetas pic