DS18B20读程序和写程序有何不同?为何读程序或上0X80,写程序却与上0X01?

在DS18B20读一个字节和写一个字节中,是不是读一个字节要右移才能读,而写却可以直接写?

DS18B20读程序和写程序有何不同?为何读程序或上0X80,写程序却与上0X01?
解析:
作用不同,写程序if (value & 0x01) ,判断写进来的一位是不1,
读程序value|=0x80,当读到的高电平时,则把相应的位置为1;先读到的低位一直向右移。所以只有右移才能在最后读到的连续8bit为一个字节,且高低位置没有变化。
从本质来讲其两个数字的作用不同,一个是用来判断高低电平的,一个是为了设计高低电平的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-12
貌似你是用C,我只会汇编,读字节右移是为了把1个地址低位放到另一个地址高位获得1个新的字节,这个字节实际上就是测量的温度值,写貌似是直接写本回答被提问者采纳
第2个回答  2011-01-16
DS18B20是一位总线,一个字节八位需要一位一位读写,然后再把每位读写!
相似回答