2020-02-08 08:46 AM
I am working with an STM32F777. I need to enable both GPIOs and PWMs (which ones is configured at run time by the application). Right now I'm seeing that some PWMs kill other GPIOs. For example if I turn on a PWM on TIM4 CH3 (PB8), it kills GPIOs on PB6, PB7. They are all on channel B, so I thought that might be it, no PWM and outputs on the same channel. Except a GPIO on PB1 keeps working, so that's not it.
So then i though, maybe it's related to the alternate function. The pins in the previous test all use the same AF for TIM4 so I thought, let me look at the AF for TIM3 and try the test on another channel that use the same AF grouping. I put a PWM on on TIM- CH4 (PC9) GPIO still works on PC6.
Basically if I turn on a PWM, some outputs quit working and I can't find any documentation on exactly why. If that's just how the F7 works I'm fine with it, but I need to document it (and protect against it in the platform code) so I need to know exactly which PWMs are going to kill which outputs, preferrably without having to test every possible permutation.
2020-02-08 09:39 AM
Enabling PWM on a pin doesnt affect your ability to configure other pins.
check your gpio configuration registers.