中断延迟计算器

使用此中断延迟计算器快速获得准确的计算结果。

Hz
baud

Typically 16 for UART

Baud Rate Divider

9

Actual Baud Rate111,111.1 baud
Baud Rate Error3.55 %
Bit Time9.00 µs

Baud Rate Divider vs Peripheral Clock

公式

## UART Baud Rate Generation UART baud rate is derived from the peripheral clock using an integer divider and oversampling. ### Formula **Divider = round(Clock / (Oversampling x Baud Rate))** **Actual Baud = Clock / (Oversampling x Divider)** **Error = |Actual - Desired| / Desired x 100%** Baud rate error should stay below 2% for reliable communication. Errors above 3-5% cause framing errors, especially for multi-byte transfers.

计算示例

16 MHz clock, 115200 baud, 16x oversampling.

  1. 01Exact divider: 16e6 / (16 x 115200) = 8.68
  2. 02Integer divider: round(8.68) = 9
  3. 03Actual baud: 16e6 / (16 x 9) = 111,111 baud
  4. 04Error: |111111 - 115200| / 115200 = 3.55%
  5. 05This is marginal; consider a different clock frequency

常见问题

What baud rate error is acceptable?

Below 2% is safe. At 3%+ errors accumulate over a byte (10 bits) and the last bits may be sampled incorrectly.

How do I reduce baud rate error?

Use a clock frequency that divides evenly into common baud rates. 14.7456 MHz and 11.0592 MHz give zero error at standard rates.

What is oversampling in UART?

The receiver samples each bit multiple times (typically 16x) and uses the middle samples for data recovery, improving noise immunity.

学习

Ohm's Law Guide

相关计算器