DS18B20 如何检测单总线上有没有接温度探头DS18B20啊?

2019-07-21 08:59发布

如题,  我主要是想检测单总线上有没有接DS18B20,请问有没有什么好的方法啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
阳光2260
1楼-- · 2019-07-21 11:57
 精彩回答 2  元偷偷看……
sammy902583
2楼-- · 2019-07-21 14:04
下Read ROM检测:

Read ROM [33h]
This command allows the bus master to read the DS18B20’s 8-bit family code, unique 48-bit serial
number, and 8-bit CRC. This command can only be used if there is a single DS18B20 on the bus. If
more than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the
same time (open drain will produce a wired AND result).
阳光2260
3楼-- · 2019-07-21 16:44
sammy902583 发表于 2018-10-16 11:06
下Read ROM检测:

Read ROM [33h]

使用Read ROM[33h]的话,如果没有接温度探头ds18b20,是不是读出的64位值都为0xFF啊?
csmjmcc
4楼-- · 2019-07-21 21:43
This command allows the bus master to read the DS18B20’s 8-bit family code, unique 48-bit serial
number, and 8-bit CRC. This command can only be used if there is a single DS18B20 on the bus. If
more than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the
same time (open drain will produce a wired AND result).


英文较差,这段不是说:仅能单颗芯片在总线上,才能这样使用;多颗会发生冲突。??
感觉这方案不可行。
sammy902583
5楼-- · 2019-07-22 02:25
其实应该不用那么麻烦.
看看原子的代码, 里面已经有检测的程序了, 修改完善一下应该是可以达到版主的需求.
只是有多颗在总线的话, 应该也是要再改代码...
sppz
6楼-- · 2019-07-22 07:00
 精彩回答 2  元偷偷看……

一周热门 更多>