[其它应用] 115200不正常

[复制链接]
2384|25
shimx 发表于 2021-12-7 21:38 | 显示全部楼层
中颖的1612A 也是带EUART和EUART1两个串口:
        //用定时器1作为系统波特率发生器
        T2CON &= ~((1<<5)|(1<<4));
        SCON |=0x50;                        //SM0 SM1 SM2 REN TB8 RB8 TI RI
        PCON |= 0X80;                                        //波特率加倍
        TMOD |= 0X20;
        TCON1 |= 0X08;                      //系统时钟作为定时器1的时钟源
        TH1 = 247;
        TL1 = 247;
        TR1 = 1;                        
        ES0    = 1;
        P3_1  |= 1;        

这样配置可以到115200波特率。  
liliang9554 发表于 2021-12-7 21:40 | 显示全部楼层
先选择定时器1为波特率发生器,定时器的时钟一定要选择系统时钟
shimx 发表于 2021-12-7 21:42 | 显示全部楼层
这个一定要配置,默认为系统时钟的12分频
liliang9554 发表于 2021-12-7 21:45 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
liliang9554 发表于 2021-12-7 21:48 | 显示全部楼层
波特率计算公式:
TH1 = TL1 = 256-(16588880/16/115200) = 247.
波特率要设置倍频,SMOD设置为1.
shimx 发表于 2021-12-7 21:50 | 显示全部楼层

明白了,多谢大家讨论这么多哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部