1. Выбросить "куб"!
2. Выбросить SPL, HAL и прочую мерзость!
3. Читать reference manual до прояснения!
"Сам" чип ничего делать не будет, пока не сконфигурировать его. Если и дальше пользоваться "кубом", то совсем плохо будет с логикой.
72МГц — нормальная внутренняя тактовая частота для, скажем, STM32F1xx. Какой чип? Плясать от этого надо.
Открываем reference manual в разделе RCC и читаем. Скажем, у STM32F1xx TIM2 тактируется от APB1. APB1 — от AHB, а тот — напрямую от SYSCLK. Если тактировать от внешнего кварца на 8МГц, то нужно в конфигурации в качестве входа для PLL выбрать HSE, а в качестве входа SYSCLK — PLL (кстати, при тактировании от внутренней RC-цепочки максимальная частота SYSCLK будет 36МГц) и выставить нужным образом предделители AHB, APB1 и TIM2_PSC. Еще нужно не забыть разрешить тактирование всей этой периферии.
Если предделители AHB и APB1 выставить в 1, а множитель PLL — в 9, то получим 72МГц на входе тактирования TIM2. Если регистр TIM2_PSC выставить в 6, то частота будет делиться на 7 — получится "кривое" число.
Что такое 50Гц ШИМа? Частота повторения импульсов? Если так, то нужно плясать от требуемой точности коэффициента заполнения. Если нужен ШИМ на 50Гц с восьмибитным заполнением, то частота таймера должна быть в 256 раз больше, чем 50Гц, т.е. составлять 12800Гц. При тактировании TIM2 напрямую, т.е. 72МГц, в TIM2_PSC надо будет записать число 5624 — тогда его частота будет ровно 12800Гц. В TIM2_ARR запишем 255, а в TIM2_CCRx (x зависит от того, какая нога выбрана выходом ШИМ и как к ней подключен таймер) будем писать число от 0 до 255 в зависимости от требуемого заполнения.