发新帖我要提问
12
返回列表
打印
[其它应用]

115200不正常

[复制链接]
楼主: wenfen
手机看帖
扫描二维码
随时随地手机跟帖
21
中颖的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波特率。  

使用特权

评论回复
22
liliang9554| | 2021-12-7 21:40 | 只看该作者
先选择定时器1为波特率发生器,定时器的时钟一定要选择系统时钟

使用特权

评论回复
23
shimx| | 2021-12-7 21:42 | 只看该作者
这个一定要配置,默认为系统时钟的12分频

使用特权

评论回复
24
liliang9554| | 2021-12-7 21:45 | 只看该作者

使用特权

评论回复
25
liliang9554| | 2021-12-7 21:48 | 只看该作者
波特率计算公式:
TH1 = TL1 = 256-(16588880/16/115200) = 247.
波特率要设置倍频,SMOD设置为1.

使用特权

评论回复
26
shimx| | 2021-12-7 21:50 | 只看该作者

明白了,多谢大家讨论这么多哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则