STM32F103 может тактироватся до 72МГц. Для приема нужно в 16 раз больше частоту судя по "Figure 283. Start bit detection" и "27.3.4 Fractional baud rate generation" в RM0008
Reference manual.
Таким образом получаем частоту тактирования 4,125 * 16 = 66 Мгц.
Там же "If the USB interface is used in the application, the PLL must be programmed to output 48 or
72 MHz. This is needed to provide a 48 MHz USBCLK."
Значит берем 72 делим на 4,125 и получаем коэффициент деления 17,45.
Используя дробный делитель можем получить 17,4375 - погрешность 0,07%
Вроде неплохо, но еще драйверы могут внести погрешность.
Вот и хочется послушать практиков о "своих граблях" ;-)