Difference between revisions of "STM32 bit bang PWM"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
On many of the cheaper [[STM32]] [[:Category:Development_Board|Development Boards]] there is a [[LED]] attached to PC13. This is perfectly ok if you want to switch it on or off, but PC13 is not attached to any of the timer channels, so it will not be possible to control the brightness using [[PWM]]. | On many of the cheaper [[STM32]] [[:Category:Development_Board|Development Boards]] there is a [[LED]] attached to PC13. This is perfectly ok if you want to switch it on or off, but PC13 is not attached to any of the timer channels, so it will not be possible to control the brightness using [[PWM]]. | ||
− | Fortunately, while not ideal, it ''is'' possible to bitbang the [[PWM]] in a manner which doesn't require too much computation. Contrary to [[PWM]] using a [[Timer]] channel, it does require some computation in the [[MCU]] | + | Fortunately, while not ideal, it ''is'' possible to bitbang the [[PWM]] in a manner which doesn't require too much computation. Contrary to [[PWM]] using a [[Timer]] channel, it does require some computation in the [[MCU]]. |
+ | |||
+ | == Bit-banding == | ||
+ | |||
+ | |||
+ | == Result == | ||
{{#ev:youtube|06B4kzB6mV4}} | {{#ev:youtube|06B4kzB6mV4}} |
Revision as of 02:41, 6 May 2024
On many of the cheaper STM32 Development Boards there is a LED attached to PC13. This is perfectly ok if you want to switch it on or off, but PC13 is not attached to any of the timer channels, so it will not be possible to control the brightness using PWM.
Fortunately, while not ideal, it is possible to bitbang the PWM in a manner which doesn't require too much computation. Contrary to PWM using a Timer channel, it does require some computation in the MCU.
Bit-banding
Result
Miscellaneous Links
- ]https://github.com/STM32World/firmware/tree/master/mcustm32f405_bitbang_pwm Stm32World STM32F405 Example]
- Blackpill STM32F411 Example