DS18B20与定时器冲突怎么办

[复制链接]
5444|7
 楼主| zx890129 发表于 2012-3-25 16:55 | 显示全部楼层 |阅读模式
我写了一个基于AT89S52定时器中断输出3路PWM的程序和数字温度计程序,分开的时候两个程序都能够运行,但是当我把两个程序合到一起的时候,显示的温度都出现问题了,问了很多人都说DS18B20对延时时间要求很高,有谁能告诉我怎么解决这个问题呢???
NE5532 发表于 2012-3-25 18:57 | 显示全部楼层
“问了很多人都说DS18B20对延时时间要求很高”??楼主还可以去问下楼下街边算命的…………

楼主搞的是技术,不是玄学,那就应该去读DS18B20的数据手册,看对时序要求高到什么程度,能不能通过压缩中断服务程序时间来解决,解决不了,就换方案。

从系统级别解决问题往往比死整一个问题方便多了。
ningling_21 发表于 2012-3-25 20:30 | 显示全部楼层
定时器也可以实现延时...
戒指320 发表于 2012-3-25 21:35 | 显示全部楼层
ds18b20的单总线读写数据,是以驱动波形的时间去判断的,它的芯片手册上对一些脉冲的宽度有严格要求,即这家伙对时间很敏感,当你的中断处理影响了你原本的驱动波形时间的话,这货就不能正确的判断你给它发的是啥命令了,所以在读写它的时候最好关闭中断(看中断里干的事多不多了)
yewuyi 发表于 2012-3-25 22:05 | 显示全部楼层
霸占了定时器当然不行了。
原野之狼 发表于 2012-3-25 22:16 | 显示全部楼层
仔细看数据手册
ayb_ice 发表于 2012-3-26 08:37 | 显示全部楼层
事情总有轻重缓急的,要合理处理这些事情是必须的
aceice 发表于 2012-3-26 09:30 | 显示全部楼层
考虑一下用定时器做延时,同时该定时器优先级最高。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

0

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