TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: kain589 en 19 de Marzo de 2006, 06:49:00

Título: Se pueden usar varios pwm simultaneamente?
Publicado por: kain589 en 19 de Marzo de 2006, 06:49:00
Pues es una duda que me ha surgido, segun tengo entendido cuando un modulo ccp actua como pwm compara el valor de TMR2 con PR2, y cuando coindicen lo pone a cero, carga ccprxl en ccprxh y pone a 1 la salida; despues realiza la comparacion entre ccprxh y tmr2 hasta que coinciden para poner a 0 la salida y volver a empezar.
Entonces si ccpr1l y ccpr2l, que indica el valor en duty cicle poseen valores distintos no podran funcionar a la vez¿no? porque el primero que coincida hara que el tmr2 se ponga a cero y el otro modulo no actuara correctamente. Alguiien me puede aclara si pueden o no actuar conjuntamente, de antemano gracias
Título: RE: Se pueden usar varios pwm simultaneamente?
Publicado por: Chaly29 en 19 de Marzo de 2006, 07:19:00
Hola kain589, para el funcionamiento de los PWM hay solo una forma posible, y es la que explicas en primer lugar, si deseas mas de 1 PWM y el PIC no posee esa capacidad tendrás que generarlo por software.

Un saludo

Atte. CARLOS

Título: RE: Se pueden usar varios pwm simultaneamente?
Publicado por: kain589 en 19 de Marzo de 2006, 08:10:00
Gracias por tu respuesta, me refiero a cuando un pic tiene varios modulos ccp, por ejemplo el 16f876 que tiene 2 modulos, la pregunta es si ambos usan el mismo temporizador, el timer2, ¿no aparecen conflictos?
Título: RE: Se pueden usar varios pwm simultaneamente?
Publicado por: migsantiago en 19 de Marzo de 2006, 11:48:00
Ambos PWM usan el mismo timer2, no hay conflictos. Los PWM tendrán la misma frecuencia PWM, pero tiempos de trabajo independientes.
Título: RE: Se pueden usar varios pwm simultaneamente?
Publicado por: kain589 en 19 de Marzo de 2006, 12:19:00
Ah, es que creo que estaba cometiendo un error, cuando esta en alto se compara el valor de tmr2 con el de ccpr1l y ccpr2l; pero cuando coinciden no se resetea el timer 2 sino que simplemente cambia el estado de la salida pero sin resetear el timer, y a partir de ese momento sigue comparando el timer2 con PR2 sin haberlo reseteado.
Es que yo creia que cuando coincidia ccpr1l o ccpr2l y el timer se reseteaba el timer