各位大虾好 我正在做关于DS18B20测温方面的学习,目前单点温度测量,读写RAM已经实现。只接一个DS18B20时读出了他们的ROM序列号。 现在在试着测量多点的温度,目前只接一个,使用ROM匹配来实现对这一个DS18B20的读写,但是一直读不出来温度。
读温度部分的程序如下,请大家帮忙分析下:
DS18B20_Init(); //初始化DS18B20 Write_DS18B20(0Xcc); //发送ROM指令,跳过ROM匹配
//Write_DS18B20(0X55); //发送ROM指令,跳过ROM匹配 //for(i = 0;i < 8;i++) //{ // Write_DS18B20(ROM_Buff2); //} Write_DS18B20(0X44); // 发送温度转换命令 for(i=0;i<50;i++) //延时1S,等转换完成 { Delayms(20); } DS18B20_Init(); //初始化DS18B20 //Write_DS18B20(0Xcc); //发送ROM指令,跳过ROM匹配
Write_DS18B20(0X55); //发送ROM指令,跳过ROM匹配 for(i = 0;i < 8;i++) { Write_DS18B20(ROM_Buff2); } Write_DS18B20(0Xbe); //发送读取暂存器指令 Temp_L = Read_DS18B20(); //获得温度的低位 Temp_H = Read_DS18B20(); //获得温度的高位 请大家帮忙
|