标题: 单片机如何同时兼顾精确计时和串口通信? [打印本页]

作者: ningsy    时间: 2023-1-14 16:01
标题: 单片机如何同时兼顾精确计时和串口通信?
在做一个泵控制器,有倒计时和定量输送的功能。MCU是STC8H,想同时兼顾精确计时和串口通信,所以选的是12M内部IRC时钟频率(尽量减少理论误差,就没用11.0592M),串口是不是只能使用2400波特率通信了?准备使用自己写的上位机软件控制(正在学习中)。

作者: liu888888    时间: 2023-1-14 19:04
感觉精确计时就是个伪概念,多少误差为精?多少偏离为确?够用即可
作者: pdwdzz    时间: 2023-1-14 19:19
可以到38400,串口有点误差没事。
作者: ningsy    时间: 2023-1-14 20:04
liu888888 发表于 2023-1-14 19:04
感觉精确计时就是个伪概念,多少误差为精?多少偏离为确?够用即可

就是希望能在只用内部IRC的条件下,尽量准一点,别差的太多。
作者: lkc8210    时间: 2023-1-14 20:33
外接时钟芯片来计时
作者: wulin    时间: 2023-1-14 20:57
内部IRC时钟的误差本来就大于晶振,用12M只能使用较低波特率通信,否则误差较大易出错。
作者: coody_sz    时间: 2023-1-14 21:15
要精确计时一定要用外部晶振,一般100ppm误差的无源晶振时1毛多一片,20ppm的有源温补贴片晶振是2~3元,0.1ppm的直插温补晶振大约30~50元,带恒温的晶振则几百元以上,优于0.01ppm。
100ppm年误差3154秒(52.5分钟)。
10ppm年误差315秒(5.25分钟)。
1ppm年误差31秒。
0.1ppm年误差3秒。
0.01ppm年误差0.3秒。



作者: 188610329    时间: 2023-1-14 21:57
有时候真不知道是怎么想的,手册不看的么?stc8h,即便12m,也是闭着眼睛都能到 57600波特率的,何况,精准计时和12m本身没有必然关系。所以,何来2选一的问题?
作者: 明记冷气    时间: 2023-1-15 00:17
倒计时 一般是时间不长压根不考虑那点零头
而且波特率不高也不用考虑
主要看你中断里面怎么写
中断处理越简短越少误差
作者: haikuotian    时间: 2023-1-15 07:38
建议用11.0592M作主频,计时器误差小于几微妙,还可以程序修正,设置串口方便。
作者: xianfajushi    时间: 2023-1-15 11:40
我家一台旭日红外热水器无线控制器每周都快1小时多,比如时间是6点看它屏幕走时已经是7点多了,每次都要去调整时间,否则计算峰谷的时间就不准确了!非常麻烦,是很差劲的产品质量,可以断定是很差劲的程序代码,所以莫要小看简单的程序提高效率问题,所谓见微知著,简单的功能都不能注重效率的话,可知复杂功能是很有问题的。
作者: ningsy    时间: 2023-1-15 11:50
haikuotian 发表于 2023-1-15 07:38
建议用11.0592M作主频,计时器误差小于几微妙,还可以程序修正,设置串口方便。

已经改成11.0592M了。就是看着山寨逻辑分析仪的数值比12M时差一点,其实也不知道准不准。控制器还有流量校准功能,看最后的实际效果吧。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1