串口的波特率分频误差通常是由于系统时钟频率与目标波特率之间的关系导致的。比如72M无法除以一个整数得到115200。波特率误差容忍度传一个字节累计偏差不能超过半个位。8N1的情况下5% 1 / (2 * 10)则一般要求通过系统时钟频率算出的波特率偏差低于5%为了降低偏差影响不同单片机有不同做法STM32通过分数波特率HT6333通过动态调节补充有的单片机支持78167816接口和串口引脚复用7816的时钟要求比较精准一般低于2%。如果硬件无法分频到需要的波特率上可以采用模拟7816。