我也遇到这个问题,100us以下定时,相差几十个us呢,不知原因为何。 |
yzwzfyz 发表于 2019-4-10 10:06 我有重新整理测量原理,也做了流程图。没发现导致这样结果的逻辑问题 ![]() |
yzwzfyz 发表于 2019-4-10 10:06 好的。我试下,还有就是请问下你这里有流程图绘制的工具吗?有的话还请发下 |
楼主:将的的测量原理画成流程图,你自己就会发现问题了。 会画流程图吗? |
wc86110 发表于 2019-4-9 17:00 那你所说的精度,应该是定时器计时过短时误差大。计时长时误差小。但是我想知道的是这个误差是怎么来的?因为我定时器计时不是通过定时器中断计时的。而定时器计时是独立于CPU运行的,也就是说当进入外部中断时定时器计数还在运行 |
robinsonlin 发表于 2019-4-9 16:58 51定时器是向上计数的,我用TL0=0x00,TH0=0x00是为了计时NEC红外脉冲时间的。我也有测量晶振脉冲平均是11.079MHZ(5个12MHZ的脉冲、1个8MHZ脉冲)。关键点:当计时短脉冲时,非常不准确。而计时长脉冲时,很准确。我没有用定时器中断来计时,按照道理应该不会因为进入中断而产生的误差。 |
选用的器件精度不够当然会出现计时不准确的问题了,玩玩就好别太较真 有的山寨手机一个月误差十分钟都有不奇怪 |
TL和TH置零后开启计数器, 可能存在一些我们不知道的过程, 最好还是TL=0xff ,TH=0xff 试试。这个从0x00 到 0xff的过程,实际上可能并不是我们想象的就是一步之遥。 以上仅是一个猜想。 楼主,我会关注你的结果哦。 我也想弄不明白, 设置0xff为初值,和设置0x00为初值是不是一样的效果。 |