打印

51定时器的问题

[复制链接]
1800|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luotianzhi|  楼主 | 2010-1-26 09:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
HWM| | 2010-1-26 09:27 | 只看该作者
取数的方法欠妥。当T在运行(计数)时取TH和TL,由于取数并非“同时”,故会发生类似现象。

使用特权

评论回复
板凳
HWM| | 2010-1-26 09:35 | 只看该作者
解决办法:

先取TH;
然后取TL;
再取TH,判别TH是否改变;
若未改变,则就是所取值TH:TL;否则再取一次TL,值为最新的TH:TL

使用特权

评论回复
地板
maychang| | 2010-1-26 09:37 | 只看该作者
同意HWM。
这是因为读第一个字节之后发生了低字节向高字节的进位。
解决的方法是读两次,看看是否发生了进位。
ATmega16等就不会出现这种事。

使用特权

评论回复
5
g1234567| | 2010-1-26 09:40 | 只看该作者
:)补充:
解决办法2:先停止计数-->读取数据-->重新开启计数

否则可能是其他计算错误了。

使用特权

评论回复
6
HWM| | 2010-1-26 09:46 | 只看该作者
to 5L:

计数停顿会引起累计误差。

使用特权

评论回复
7
g1234567| | 2010-1-26 09:56 | 只看该作者
停止计数,有累计的话肯定不适用。

使用特权

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

本版积分规则

个人签名:舍我其谁

14

主题

51

帖子

0

粉丝