Didn't use DT's code for that one.
Just a simple Tmr0 overflow running as fast as it can... When the interrupt hits, I update the channels/pins according to their duty cycle 'register' variable. Outside the interrupt sub, in the main loop, I update the duty cycle 'register' itself depending on whatever I'm doing. Theoretically, assuming there's enough clock cycles in the day, you can run as many channels as you want.
On the '8722, you could have up to 70 channels of halfway decent PWM (well, 69, one of those pins is input only if I remember right). I only stopped at 48 'cause that's all the red LEDs I had on hand at the time.
Can each channel have different duty cycles?
This is quite a bit over my head, could you post a code example?
Best Regards,
Kurt A. Kroh
KrohTech
“Goodbye and thanks for all the fish”
As many as can be had. Only limitation is processor cycles. Depending on what freq the PWM gets run at, you end up running out of enough cycles to adjust all of the channel's PWM's in the main loop and might run out of cycles in the interrupt loop to update all of the channels before the next interrupt hits.
I need at least 16-24 channels, i will investigate more on the forum, if anyone have spotted something useful please be nice to post it here
That's exactly what I've done in C but that wasn't refresh at the same speed at yours... i was running the outputs @ 220.4 hz but the effects that i need to do with the leds wasn't good , kinda jerky sometimes even with 48mhz (12mips) clock, I ran out off juice :S !Just a simple Tmr0 overflow running as fast as it can... When the interrupt hits, I update the channels/pins according to their duty cycle 'register' variable. Outside the interrupt sub, in the main loop, I update the duty cycle 'register' itself depending on whatever I'm doing.
Btw,skimask why not post it to the code examples or a little example here? I respect your work, if you don't want to share your code it's ok i understand that...
Have a nice day you guys!
You really helped me
I really love this forum, every time i come, i learn something :P
Best Regards,
Laurent
Last edited by ELCouz; - 9th February 2008 at 10:27.
Exactly which piece of work do you respect the most?
Most people don't respect my work at all, if only because it's basically unreadable, as I'm sure it would be to you. The style of coding I've chosen and use is almost unreadable to the person that's not used to it. Ask anybody that's been around awhile, they'll tell you the same thing. The High Colonic Master...yep...that's me...![]()
Hi Laurent
I have had great sucess with Darrel's DT_INTS-18 and SPWM_INT . I am doing 16 ch of PWM on a pic 18F2410 32 MHz. The pwm is running at 100Hz 8 bit resolution.
Thanks Darrel (I never tire of saying that)
take a look at this thread:
http://www.picbasic.co.uk/forum/showthread.php?t=8088
Best Regards,
Kurt A. Kroh
KrohTech
“Goodbye and thanks for all the fish”
Bookmarks