普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3496|回复: 5

DS18B20读取温度求助!!!

 关闭 [复制链接]

5

主题

16

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2017-10-16 22:53:11 | 显示全部楼层 |阅读模式
DS18B20:
int  DS18B20RadeTemp()                         //读取温度
{
     int temp=0;
         uchar templ,temph;
         DS18B20RadeChangeTemp();
         DS18B20RadeTempcom();
         templ=DS18B20RadeByte();
         temph=DS18B20RadeByte();
         temp=temph;
         temp<<=8;
         temp|=templ;
         return temp;
}

求大神解释一下,这个高低字节是怎么赋值的呢?

回复

使用道具 举报

11

主题

32

帖子

138

积分

注册会员

Rank: 2

积分
138
发表于 2017-10-17 19:08:51 | 显示全部楼层
这是我的一点理解,不一定对,你看看,希望能帮到你

  templ=DS18B20RadeByte();             //先读取了低字节保存在templ中;
temph=DS18B20RadeByte();             //后读取了高字节保存在temph中;
temp=temph;                                  讲高字节赋值给temp;
temp<<=8;                                        将temp左移8位,原来的高字节变为16位的高字节
  temp|=templ;                                    将低字节或到16位的低字节,并将16位温度保存在temp中
  return temp;                                          返回16位温度
回复 支持 反对

使用道具 举报

15

主题

196

帖子

503

积分

高级会员

Rank: 4

积分
503
发表于 2017-10-18 16:02:58 | 显示全部楼层
本帖最后由 xzf586 于 2017-10-18 16:06 编辑

仔细读读18B20的温度格式:
        正温度:0000 0XXX       XXXX yyyy            小数位yyyy
        负温度:1111 1MMM     MMMM nnnn          小数位nnnn
看看上面格式:假如读出来的是:tempH=0000 0101,tempL=1011 1100,表示温度多少,自己算一下,比什么都强!
回复 支持 反对

使用道具 举报

15

主题

196

帖子

503

积分

高级会员

Rank: 4

积分
503
发表于 2017-10-18 16:06:33 | 显示全部楼层
仔细读读18B20的温度格式:
        正温度:0000 0XXX       XXXX yyyy            小数位yyyy
        负温度:1111 1MMM     MMMM nnnn          小数位nnnn
看看上面格式:假如读出来的是:tempH=0000 0101,tempL=1011 1100,表示温度多少,自己算一下,比什么都强!
回复 支持 反对

使用道具 举报

5

主题

16

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2017-10-18 23:31:34 | 显示全部楼层
刘耀 发表于 2017-10-17 19:08
这是我的一点理解,不一定对,你看看,希望能帮到你

  templ=DS18B20RadeByte();             //先读取 ...

谢谢
回复 支持 反对

使用道具 举报

5

主题

16

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2017-10-18 23:33:35 | 显示全部楼层
xzf586 发表于 2017-10-18 16:02
仔细读读18B20的温度格式:
        正温度:0000 0XXX       XXXX yyyy            小数位yyyy
         ...

恩,后来看了一线DS18B20的工作介绍明白了,谢谢你的帮助

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-25 09:17 , Processed in 0.082826 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表