本帖最后由 oolong 于 2020-1-13 09:20 编辑
最近在调1-wire协议,时序应该没问题,搜索rom、匹配rom、跳过rom、转换、读取温度都没问题
在
这个集成模块上测试没问题
集成模块 6.52元/个,丝印 1804C4+051AG
某次读温度数据:
8c 1 4b 46 3f ff 3f 10 c0
第五位固定的0xFF,第七位固定的0x10,和datasheet描述一致,且校验和匹配0xC0
但我手上还有一批散装的DS18B20,测试就各种校验和不通过(没有一次通过),但是如果忽略校验和也能读取温度,和上面的模块误差0.5°左右
散装DS18B20 1.42元/个,丝印 1916c4+051AG
某次读温度数据:
64 1 55 5 3f a5 a5 66 a9
正确的校验和应该为 0x66,且第五位不是固定的0xFF,第七位不是固定的0x10
我怀疑是不是买到的假芯片,毕竟和别家的价格差异还是蛮大的,如果忽略CRC8校验,倒也是能读取,无奈改下驱动,配置下是否忽略CRC8校验
对于我这样的业余玩家实在无法辨别真假,只能看价格了,但是我单独买的 3.53元,x宝描述是进口的,也是测试有问题,另外我还发现,加不加上拉电阻对结果没有影响,也是奇了怪了了,没有上拉也能正常工作
|