STM32 gotchas
47.TIMx_CHxN is not inverted if TIMx_CHx is not enabled

Advanced timers intended for halfbridge control (TIM1, TIM8, TIM20 and also TIM16/TIM17 - these are the timers requiring TIMx_BDTR.MOE to be set, to enable their outputs) have two output pins per channel, designated TIMx_CHx and TIMx_CHxN. Normally, these pins provide mutually complementary output (i.e. waveform on TIMx_CHxN is inverted version of TIMx_CHx, with an optional deadtime inserted).

On some smaller packages, or if pins are consumed by some other peripheral, sometimes only TIMx_CHxN is available for a given timer channel. Or, put simply, the user wants to use TIMx_CHxN alone, without using TIMx_CHx, for whatever reason, as an output controlled by Output Compare facilities for given channel (usually as PWM).

In that case, users are often surprised to see, that TIMx_CHxN does not provide the inverted waveform as is in case when TIMx_CHx is used simultaneously; but as standalone output (i.e. if the respective TIMx_CCER.CCxE=0), it outputs the "straight" version exactly as TIMx_CHx would.

This feature is well documented in RM, e.g. in the Output control bits for complementary OCx and OCxN channels with break feature table. If desired, the waveform can be easily inverted using the respective TIMx_CCER.CCxNP bit.