打印
[其它应用]

波特率在4800-57600之间和128000都正常,唯独在115200不正常

[复制链接]
956|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenfen|  楼主 | 2017-7-16 18:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
波特率在4800-57600之间和128000都正常,唯独在115200不正常
沙发
zhuhuis| | 2017-7-16 18:41 | 只看该作者

这你怎么知道的

使用特权

评论回复
板凳
wenfen|  楼主 | 2017-7-16 18:43 | 只看该作者
恰好和SH88F516串口通信的模块的波特率是115200

使用特权

评论回复
地板
tian111| | 2017-7-16 18:45 | 只看该作者

换个不行吗

使用特权

评论回复
5
wenfen|  楼主 | 2017-7-16 18:48 | 只看该作者

固定死了,不能改.这几天各种尝试,115200都是不行

使用特权

评论回复
6
tian111| | 2017-7-16 18:50 | 只看该作者

串口初始化程序

使用特权

评论回复
7
wenfen|  楼主 | 2017-7-16 18:52 | 只看该作者

CLKCON = 0x00;                //时钟设置

        RCAP2H=0xFF;                //115200
        RCAP2L=0xFC;
        TH2=0xFF;
        TL2=0xFC;
        T2CON=0x34;                        //定时器2产生接收和发送波特率,开启定时器,工作在定时器方式,自动重装载
        SCON=0x50;                        //SM0 SM1 SM2 REN TB8 RB8 TI RI
                                                //工作在方式1(8位异步方式,可变波特率),允许接收,清0发送接收标志位

使用特权

评论回复
8
chenho| | 2017-7-16 18:54 | 只看该作者

用外接晶振

使用特权

评论回复
9
chenho| | 2017-7-16 18:55 | 只看该作者


如果128000都正常,反而115200不正常,就说明不是速度的问题。

使用特权

评论回复
10
gongche| | 2017-7-16 18:57 | 只看该作者
是很奇怪,建议抓波形看看。

使用特权

评论回复
11
huwr| | 2017-7-16 19:08 | 只看该作者

使用外部22.1184M晶振

使用特权

评论回复
12
huanghuac| | 2017-7-16 19:10 | 只看该作者

88F516手册写了,外部最高支持16.6MHZ晶振,所以22.1184属于超频了,建议用11.0592吧。

使用特权

评论回复
13
happy_10| | 2017-7-16 19:12 | 只看该作者

唯独在115200不正常,这么奇怪啊??

使用特权

评论回复
14
huanghuac| | 2017-7-16 19:14 | 只看该作者

可以试着换一个吗,不用115200不行吗??

使用特权

评论回复
15
huwr| | 2017-7-16 19:16 | 只看该作者

根本不奇怪,因为按照内部16.6MHZ时钟,波特率115200bps,算出来的定时器初值,取整之后丢弃的尾数非常大,大到产生的波特率误差超过串口可以承受的范围,简单吧,换T1做,然后倍速,兴许还有希望。我在88F2051上就是这么整,可以稳定上115200bps,但是如果换成T2就只能上57600bps。不过2051的定时器分频器貌似比88F516更先进哦

使用特权

评论回复
16
wenfen|  楼主 | 2017-7-16 19:26 | 只看该作者
嗯,预料中的结果,先结贴吧,多谢大家啦

使用特权

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

本版积分规则

737

主题

8940

帖子

8

粉丝