主题 : 想问下大家如何利用ARM9精确延时啊,最近都晕了 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 22983
精华: 0
发帖: 16
金钱: 90 两
威望: 18 点
综合积分: 32 分
注册时间: 2010-06-10
最后登录: 2010-08-09
楼主  发表于: 2010-08-07 00:31

 想问下大家如何利用ARM9精确延时啊,最近都晕了

这几天弄个18B20侧温度,但是那个延时不准确,温度出不来
所以想请教怎么精确延时,谢谢
级别: 新手上路
UID: 17651
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2010-03-31
最后登录: 2012-09-21
1楼  发表于: 2010-08-07 09:46
建议使用定时器,而且18B20的延时只是说有个最小时间,你只需要超过这个最小时间即可,无须很精确的
春有百花秋有月,夏有凉风冬有雪。若无闲事挂心头,便是UBUNTU好时节。。。。
级别: 侠客
UID: 24947
精华: 2
发帖: 63
金钱: 430 两
威望: 86 点
综合积分: 166 分
注册时间: 2010-07-16
最后登录: 2019-04-27
2楼  发表于: 2010-08-09 08:08
我也觉得,18B20并不需要很精确的时间,没IIC协议那么严格
级别: 新手上路
UID: 23457
精华: 0
发帖: 24
金钱: 130 两
威望: 26 点
综合积分: 48 分
注册时间: 2010-06-20
最后登录: 2017-09-13
3楼  发表于: 2010-08-09 09:48
如果可以的话,用硬件计时,也就是PWM来计时。
级别: 新手上路
UID: 12814
精华: 0
发帖: 31
金钱: 155 两
威望: 31 点
综合积分: 62 分
注册时间: 2010-01-13
最后登录: 2017-09-13
4楼  发表于: 2010-08-11 16:50
ds18b20 不用那么精确,我使用了 udelay(),
mdelay()实现了。能够采集数据了
级别: 新手上路
UID: 38789
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
综合积分: 6 分
注册时间: 2011-03-01
最后登录: 2017-09-13
5楼  发表于: 2011-03-14 15:06
udelay()、mdelay() 是Linux操作系统里的吧,如没嵌入操作系统,又如何做微秒级延时?