激流 发表于 2024-5-8 10:18:49

波特率691200通信收发误码率高!

波特率691200通信收发误码率高!

激流 发表于 2024-5-8 10:21:02

void Uart1_Init(void)        //691200bps@33.1776MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器时钟1T模式
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //设置定时器模式
        TL1 = 0xF4;                        //设置定时初始值
        TH1 = 0xFF;                        //设置定时初始值
        ET1 = 0;                        //禁止定时器中断
        TR1 = 1;                        //定时器1开始计时
}
波特率921600、460800通信收发正常。

激流 发表于 2024-5-8 10:22:05

激流 发表于 2024-5-8 10:30:11

jwd 发表于 2024-5-8 10:59:26

你这个就有点奇怪了,高波特率都没事,低波特率还不行?

32G12K128 发表于 2024-5-8 17:08:08

用范例测试下!

激流 发表于 2024-5-9 08:59:15

好的谢谢

激流 发表于 2024-5-9 09:01:02

我使用的目标芯片是STC32G12K128

神农鼎 发表于 2024-5-9 09:22:27

自己的2个串口直接通信,测试下,可以后,再查外部原因

晓飛飛 发表于 2024-5-9 10:07:34

既然是通信,那对通信双方的能力都需要有了解,691200bps并非常用的标准波特率,比如CH340甚至最新的CH343的波特率支持列表里面都没有这个波特率,建议使用460800bps或者921600bps波特率,如果必须使用这种非标波特率,那建议你用两个STC32G12K128收发互联测试一下,应该是没有问题的。
页: [1] 2
查看完整版本: 波特率691200通信收发误码率高!