Я начал думать по-другому. Процессор 32 разрядный, посему,
естественно работать с 32 разрядными числами, а приводить к нужному
размеру только в самом конце при записи в регистр. uint32_t t32_ccer = 0,
...
t32_ccer &= ~(TIM_CCER_CC4P | TIM_CCER_CC4NP);
REG = (uint16_t) t32_ccer;
...