关于DS18B20读取ROM问题

hauos123 2011-04-21 03:30:33
总线上挂接了3个DS18B20,那么我如果这时候发送0x33读取64位系列号,它送的是正确的吗?我觉得这样的话3个DS18B20不是同时发送自己的系列号了吗?这样不是冲突了吗?
现在问题是我总线上已经挂接好,不想拆下来一个个的读取他们自己的系列号,再放到数组里面去。
我想的是在程序运行时能先读取到这3个系列号,然后再读取温度。而不是自己先去一个个的测试到了他们的系列号了才去写程序。
...全文
712 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AnYidan 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gjq1988 的回复:]
你说的没错,当总线上挂多个DS18B20时,读ROM命令是会引起总线冲突的。因为这时所有器件都会响应命令并将自己的64位数据发送到i-wire bus 上, 你应该先search rom 。这个命令能使MCU知道总线上有几个DS18B20,并知道每个传感器的64位ROM数据。而不用你一个一个读。但单片机使用这个命令必须要先仔细阅读DS18B20的 search rom 协议,并在单片机中编程模拟它……
[/Quote]

所以看lz 的选择和项目的要求了
gjq1988 2011-04-24
  • 打赏
  • 举报
回复
你说的没错,当总线上挂多个DS18B20时,读ROM命令是会引起总线冲突的。因为这时所有器件都会响应命令并将自己的64位数据发送到i-wire bus 上, 你应该先search rom 。这个命令能使MCU知道总线上有几个DS18B20,并知道每个传感器的64位ROM数据。而不用你一个一个读。但单片机使用这个命令必须要先仔细阅读DS18B20的 search rom 协议,并在单片机中编程模拟它。这个是不容易的。
durant 2011-04-21
  • 打赏
  • 举报
回复
要先search的

多看看文档

27,508

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧