单片机 1个I⼀O 挂2个DS18B20

读出唯一ID后,怎么匹配ID读取温度 C语言
2025-01-04 16:10:56
推荐回答(2个)
回答1:

大致方法是这样的,先写匹配ROM指令0x55,然后再发64位ID序列号,
程序如下:

write(0x55); //匹配ROM指令
for(i=0;i<8;i++) //后继64位序列号
{
write(ROM64[i]); //这里的ROM64是一个保存ID的数组(8个元素),64位序列号是8个字节,所以需要发8次
}

//至此,匹配完毕,下面你就可以读取该ID的温度值了。

回答2:

DS18B20的通信接口1-wire本生就是总线式的。
支持二叉树式的遍历,通过遍历后可以查到挂在总线上所有芯片的ID
{如果已知道ID,上面当我没说}
启用MATCH命令选中对应的芯片,再操作启动转换,读取温度命令啥的。