51单片机使用12M晶振串口乱码问题

前几天,画了块51的板子,晶振用的是12MHz的,调试过程发现串口打印输出一直乱码,用的是STC-ISP(V6.86R)这个工具软件里面的波特率计算器来直接计算波特率,配置如下图所示:

就是这个配置导致了通信乱码,原因是——误差太大了,8.51%的误差,查找原因过程看到有资料说如果误差在2%以上就会出现乱码(具体没有测试过),更别提我这8.51%的误差了。

原因是找到了,解决的方法呢?一是换晶振,换成11.0592MHz的频率,这个误差是0%,对波特率精度要求比较高的可以考虑下这个方案。二是修改配置,如下图所示:

和上面那个配置相比主要是把波特率从9600改成了4800,并且勾上了波特率倍速这个选择框,这样就把误差降到了0.16%,试了一下,腰好了,肾也好了,通信也正常了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值