定时器与ds18b20怎样协调

[复制链接]
4446|12
 楼主| nan_banqiu 发表于 2010-12-2 16:59 | 显示全部楼层 |阅读模式
在main函数中要用到8位自动重装定时器,由于频繁中断影响到了ds18b20(对时间敏感)转换,请问如何解决?
ayb_ice 发表于 2010-12-2 17:03 | 显示全部楼层
禁止中断
 楼主| nan_banqiu 发表于 2010-12-2 18:15 | 显示全部楼层
禁止中断 遥控器 PWM就不正常了 还有啥办法吗
a98022_30 发表于 2010-12-2 22:16 | 显示全部楼层
在写时序的时候,要关中断.
coody 发表于 2010-12-2 22:37 | 显示全部楼层
可以在Timer中断中开一个基于状态机的时间片来处理18B20的访问。
 楼主| nan_banqiu 发表于 2010-12-2 23:21 | 显示全部楼层
可以在Timer中断中开一个基于状态机的时间片
来处理18B20的访问。
coody 发表于 2010-12-2 22:37

状态机的时间片,能解释一下吗?
 楼主| nan_banqiu 发表于 2010-12-2 23:58 | 显示全部楼层
楼上的方法我试了一下 1820测温度没问题了 可是遥控器不管用了
估计是中断处理时间太长了  还有办法吗  我相信办法肯定是有的
 楼主| nan_banqiu 发表于 2010-12-3 00:23 | 显示全部楼层
我认为是在中断服务中呆的时间太长了 导致相同中断不能进行 使得遥控计时不准了 不知道这个理解对不对啊
john_lee 发表于 2010-12-3 02:55 | 显示全部楼层
如果有空余的串口,可以代替bitbanging对1-wire操作。
ayb_ice 发表于 2010-12-3 08:24 | 显示全部楼层
模拟1WIRE,为了保证可靠必须关中断,当然可以仔细考虑仅在必须的时候关中断

另外可以考虑访问1WIRE与发码不同时操作

...
zdhlixiang2006 发表于 2010-12-3 22:07 | 显示全部楼层
DS18B20每次转换完毕默认情况下好像是几百毫秒,这段时间,你可以利用啊,之前的时序操作前,必须关中断,之后开,时间很短的,不影响的
 楼主| nan_banqiu 发表于 2010-12-5 17:40 | 显示全部楼层
这个问题真纠结遥控机和DS都对时间敏感,并且遥控操作随时都有可能:L
gx_huang 发表于 2010-12-6 08:44 | 显示全部楼层
只关闭几个微妙的中断,怎么会对遥控有影响呢?
你只要搞清楚了DS1820和遥控的时序,应该很容易解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

161

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部