Я применяю вот такой алгоритм:
Для требуемой выходной частоты (дана частота, которй тактируется таймер вместе с прескалером) вычисляется делитель.
Далее, последовательным увеличением предделителя (перебором "отводов") нажодится то значение, при котором делитель влезает в отведенный ему регистр.
Работает и для хитрых делителей ATMega и для STM32 (16 и 32 бита) и для baud rate генераторов.
Сделано для того, чтобы обеспечить максимально приближённый к требуемому общий делитель.
Сообщение отредактировал Genadi Zawidowski - Feb 21 2017, 17:25