前几天,画了块51的板子,晶振用的是12MHz的,调试过程发现串口打印输出一直乱码,用的是STC-ISP(V6.86R)这个工具软件里面的波特率计算器
来直接计算波特率,配置如下图所示:
就是这个配置导致了通信乱码,原因是——误差太大了,8.51%的误差,查找原因过程看到有资料说如果误差在2%以上就会出现乱码(具体没有测试过),更别提我这8.51%的误差了。
原因是找到了,解决的方法呢?一是换晶振,换成11.0592MHz的频率,这个误差是0%,对波特率精度要求比较高的可以考虑下这个方案。二是修改配置,如下图所示:
和上面那个配置相比主要是把波特率从9600
改成了4800
,并且勾上了波特率倍速
这个选择框,这样就把误差降到了0.16%,试了一下,腰好了,肾也好了,通信也正常了。