При попытке задать скорость UART для микроконтроллера 1921ВК035 возникла проблема с несоответствием скорости.
Из железа у меня Ваша отладочная плата для этого контроллера.
При настройке пользуюсь функцией AutoBaudConfig из plib35_uart:
Код: Выделить всё
uart_clk_freq = RCU_GetUARTClkFreq(UARTx_Num);
int_div = uart_clk_freq / (16 * BaudRate);
frac_div = (uint32_t)((uart_clk_freq / (16.0f * BaudRate) - int_div) * 64.0f + 0.5f);
Пытаюсь задать значение скорости 57 600 бод. Соответственно, int_dev = 0x10 (16 в десятичной), frac_div = 0x12 (18 десятичной). Должна получиться скорость порядка 57,5 кБод, однако при передаче байта из UART осциллографом вижу 43,48 кБод (3/4 от заданного).
В чем может быть проблема?
С уважением.