⏱️ STM32 UART 波特率 89600 计算:fck=726MHz BRR=0x1FA7 实际89596bps(误差-0.004%)
工具计算永久页 · 服务端已算好结果,可收藏、可分享、可被搜索引擎收录
时钟 fck = 726 MHz,目标波特率 89600 bps(16倍过采样)
BRR 寄存器值:0x1FA7
实际波特率:89596 bps
误差:-0.004%
公式:BRR = fck / (16×波特率)(或 8×)
👁 13 次查看 · 2026-09-06 19:19 生成
// USART 初始化(HAL 库生成)
// 目标 89600bps,fck=726MHz,BRR=0x1FA7,实际 89596bps(误差-0.004%)
UART_HandleTypeDef huart;
void MX_USART1_UART_Init(void)
{
huart.Instance = USART1;
huart.Init.BaudRate = 89600;
huart.Init.WordLength = UART_WORDLENGTH_8B;
huart.Init.StopBits = UART_STOPBITS_1;
huart.Init.Parity = UART_PARITY_NONE;
huart.Init.Mode = UART_MODE_TX_RX;
huart.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart.Init.OverSampling = UART_OVERSAMPLING_16;
HAL_UART_Init(&huart);
}
// 发送/接收
HAL_UART_Transmit(&huart, (uint8_t*)"Hi", 2, 100);