发新帖我要提问
12
返回列表
打印
[通用8051核FLASH系列]

HC89S105的波特率是一处败笔

[复制链接]
楼主: qqtfh
手机看帖
扫描二维码
随时随地手机跟帖
21
如果CPU频率是16M,则 SBRT = [SBRTH : SBRTL] = 65526,当然,如果要准确的波特率,则一般要使用晶振,如果CPU频率是11.0592M,则SBRT = [SBRTH : SBRTL] = 65530

使用特权

评论回复
22
panxiaoyi| | 2021-3-30 10:11 | 只看该作者
如图

捕获.PNG (17.71 KB )

捕获.PNG

使用特权

评论回复
23
panxiaoyi| | 2021-3-30 10:18 | 只看该作者
上面的CPU是16M频率时,寄存器的值不是65526,应该是65527比较合适

使用特权

评论回复
24
panxiaoyi| | 2021-3-30 10:25 | 只看该作者
即使是AVR,使用115200波特率,也需要外接晶振,CPU频率能微调的毕竟不多,再说,温度漂移估计也会影响微调

使用特权

评论回复
25
panxiaoyi| | 2021-3-30 10:32 | 只看该作者
如果你一定要使用内部RC时钟,则,可以使用频率计准确的测量内部RC是多少,然后再计算赋值,这样估计比较理想

使用特权

评论回复
26
qqtfh|  楼主 | 2021-3-30 10:48 | 只看该作者
panxiaoyi 发表于 2021-3-30 10:32
如果你一定要使用内部RC时钟,则,可以使用频率计准确的测量内部RC是多少,然后再计算赋值,这样估计比较理 ...

我简直是被惊呆了。。。你这是做样品的思维,就算样品可以这样搞。后面批量生产怎么办?每个都拿来测频率再计算吗?况且就算是频率计测的,也算不出合适的值。

使用特权

评论回复
27
qqtfh|  楼主 | 2021-3-30 10:56 | 只看该作者
panxiaoyi 发表于 2021-3-30 10:32
如果你一定要使用内部RC时钟,则,可以使用频率计准确的测量内部RC是多少,然后再计算赋值,这样估计比较理 ...

你能这样想,说明你未做过实际的产品。如果这么麻烦,这样搞,等你做出货来,黄花菜都凉了。

使用特权

评论回复
28
panxiaoyi| | 2021-3-30 11:53 | 只看该作者
首先,我要说明,我的确是一个爱好者而已,你可以看看我之前的贴子就知道了
我也想说一句
我简直是被惊呆了。。。原来谈技术是要论资质的 !

使用特权

评论回复
29
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% 理论允许误差)。

使用特权

评论回复
30
单片小菜| | 2021-4-1 16:31 | 只看该作者
所有的芯片都差不多吧,我没有感觉好到哪里。

使用特权

评论回复
31
里面有晴雨| | 2021-4-1 17:38 | 只看该作者
所有的单片机都是这样的吧。可能我用的51比较多一些吧。

使用特权

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

本版积分规则