标题:
stc15单片机的串口定时器,是从收到起始位开始计算,还是一直计算?
[打印本页]
作者:
Ahchi
时间:
2022-1-24 02:07
标题:
stc15单片机的串口定时器,是从收到起始位开始计算,还是一直计算?
想使用stc15的内部振荡器,但担心其准确率,长时间运行时误差累积到半个bit那通讯错误就非常严重了。
如果每次收到起始位后重新装填计算,那误差累积就被消除了。
想进行115200,用内部晶振行吗?
作者:
munuc_w
时间:
2022-1-24 08:23
异步通信,每传送一帧数据都是从起始位开始同步的。
作者:
IdeaMing
时间:
2022-1-24 09:19
您多虑了,串口的起始位顾名思义就是干这个的。
作者:
devcang
时间:
2022-1-24 09:31
当然可以了。串口通讯有起止位的。不仅仅是定时器的作用的。
作者:
wufa1986
时间:
2022-1-24 09:33
串口通信没有累积误差
作者:
188610329
时间:
2022-1-24 15:59
杞人忧天
STC15系列是 波特率 4分频,即定时器每溢出4次接受一位。
每个字节传输都有起始位,收到起始位后,会在6次溢出后接受第1位,然后每4次溢出接受1位,确保每一位的接收,都在电平最稳定的中间位置。按照,这个机制,只要波特率算得正确,晶振频率只要误差不要超过4%, 就能正确接受。换言之,只要不是24M的晶振,实际变成25M 就不会有问题。
作者:
Ahchi
时间:
2022-1-25 14:43
188610329 发表于 2022-1-24 15:59
杞人忧天
STC15系列是 波特率 4分频,即定时器每溢出4次接受一位。
'''''.XX..XX..XX..XX..XX..XX..XX..XX..__是这样吗?
你这个解析太棒了,就是我想要的答案了。
4分频然后去头去尾就能去掉误差影响,之前不知道工作原理,以为115200就是一秒定时器相应115200次
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1