Buenas tardes amigos del foro, estoy haciendo un pequeño programa con un PIC16F887 en C con el compilador Hitech, quiero implementar dos PWM a aproximadamente 50 Hz y variar su ciclo de trabajo, las únicas salidas disponibles que tengo se encuentran en el puerto B.
¿Cuál es la mejor forma de realizar esto?
Hasta ahorita mi idea es hacerlo con el timer 0 y el timer 1, para un solo PWM tengo claro como lo quiero llevar a cabo, usaré el timer1 y pondré un tiempo de 20ms, cada 20 ms generaré una interrupción, después de eso al inicio de cada periodo colocaré el timer0 de acuerdo a mi ciclo de trabajo deseado, el cual irá desde 0-20ms. Cuando haya una interrupción del timer0 desactivaré la salida PWM y esta se volverá activar de nuevo hasta el overflow del timer1.
No se si me doy a entender, esta idea no la veo compatible al tener dos puertos PWM con distintos ciclos de trabajo, por lo que me pregunto si hay alguna metodología ya probada (o librería) que me pueda servir mejor o si voy por el buen camino.
Saludos.
P.D. Una disculpa por el título del post tan feo XD
¿Cuál es la mejor forma de realizar esto?
Hasta ahorita mi idea es hacerlo con el timer 0 y el timer 1, para un solo PWM tengo claro como lo quiero llevar a cabo, usaré el timer1 y pondré un tiempo de 20ms, cada 20 ms generaré una interrupción, después de eso al inicio de cada periodo colocaré el timer0 de acuerdo a mi ciclo de trabajo deseado, el cual irá desde 0-20ms. Cuando haya una interrupción del timer0 desactivaré la salida PWM y esta se volverá activar de nuevo hasta el overflow del timer1.
No se si me doy a entender, esta idea no la veo compatible al tener dos puertos PWM con distintos ciclos de trabajo, por lo que me pregunto si hay alguna metodología ya probada (o librería) que me pueda servir mejor o si voy por el buen camino.
Saludos.
P.D. Una disculpa por el título del post tan feo XD