[通用8051核FLASH系列] HC89S105的波特率是一处败笔

[复制链接]
4422|30
panxiaoyi 发表于 2021-3-30 10:03 | 显示全部楼层
如果CPU频率是16M,则 SBRT = [SBRTH : SBRTL] = 65526,当然,如果要准确的波特率,则一般要使用晶振,如果CPU频率是11.0592M,则SBRT = [SBRTH : SBRTL] = 65530
panxiaoyi 发表于 2021-3-30 10:11 | 显示全部楼层
panxiaoyi 发表于 2021-3-30 10:18 | 显示全部楼层
上面的CPU是16M频率时,寄存器的值不是65526,应该是65527比较合适
panxiaoyi 发表于 2021-3-30 10:25 | 显示全部楼层
即使是AVR,使用115200波特率,也需要外接晶振,CPU频率能微调的毕竟不多,再说,温度漂移估计也会影响微调
panxiaoyi 发表于 2021-3-30 10:32 | 显示全部楼层
如果你一定要使用内部RC时钟,则,可以使用频率计准确的测量内部RC是多少,然后再计算赋值,这样估计比较理想
 楼主| qqtfh 发表于 2021-3-30 10:48 | 显示全部楼层
panxiaoyi 发表于 2021-3-30 10:32
如果你一定要使用内部RC时钟,则,可以使用频率计准确的测量内部RC是多少,然后再计算赋值,这样估计比较理 ...

我简直是被惊呆了。。。你这是做样品的思维,就算样品可以这样搞。后面批量生产怎么办?每个都拿来测频率再计算吗?况且就算是频率计测的,也算不出合适的值。
 楼主| qqtfh 发表于 2021-3-30 10:56 | 显示全部楼层
panxiaoyi 发表于 2021-3-30 10:32
如果你一定要使用内部RC时钟,则,可以使用频率计准确的测量内部RC是多少,然后再计算赋值,这样估计比较理 ...

你能这样想,说明你未做过实际的产品。如果这么麻烦,这样搞,等你做出货来,黄花菜都凉了。
panxiaoyi 发表于 2021-3-30 11:53 | 显示全部楼层
首先,我要说明,我的确是一个爱好者而已,你可以看看我之前的贴子就知道了
我也想说一句
我简直是被惊呆了。。。原来谈技术是要论资质的 !
wh6ic 发表于 2021-3-31 17:00 | 显示全部楼层
赛元的 7445 之类波特率 灵活一点, PDF  --   BaudRate = fsys / [TH1,TL1]  ,:[TH1,TL1] 大于 0x0010 就Ok
   比如楼主要的 115200bps,按它的内部 16MHz 时钟,分频系数是 16MHz / 115200 = 138.888... ,取值 139。
    (我使用的是赛元 8003,试过 460800 也没有问题 -- 系数34.7222,取值 35,芯片全电压温度的频率误差是 1%,总误差 0.2778/35 + 1% < 1.8%,低于 Uart 要求的 2.5% 理论允许误差)。
单片小菜 发表于 2021-4-1 16:31 | 显示全部楼层
所有的芯片都差不多吧,我没有感觉好到哪里。
里面有晴雨 发表于 2021-4-1 17:38 | 显示全部楼层
所有的单片机都是这样的吧。可能我用的51比较多一些吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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