OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4604|回复: 5

在DS18B20温度传感器遇到些问题!!求解 在线等

[复制链接]

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2017-8-3
在线时间
13 小时
发表于 2017-9-4 11:23:07 | 显示全部楼层 |阅读模式
5金钱
在DS18B20温度传感器中,得到高字节数据后,为什么要左移8位??
一共就8位二进制,左移8位之后不是全部都变成0了吗??
求讲解

最佳答案

查看完整内容[请看2#楼]

DS18B20分为高八位和低八位,高八位左移八位后||低八位 即为所得值,为小数
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-4
在线时间
7 小时
发表于 2017-9-4 11:23:08 | 显示全部楼层
本帖最后由 zq1741314853 于 2017-9-4 11:48 编辑

DS18B20分为高八位和低八位,高八位左移八位后||低八位 即为所得值,为小数
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2017-8-3
在线时间
13 小时
 楼主| 发表于 2017-9-4 12:14:19 | 显示全部楼层
zq1741314853 发表于 2017-9-4 11:47
DS18B20分为高八位和低八位,高八位左移八位后||低八位 即为所得值,为小数

我知道是这样转换,但是为什么呢?
为什么高8位要先左移8位?
回复

使用道具 举报

30

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
594
金钱
594
注册时间
2014-4-3
在线时间
74 小时
发表于 2017-9-4 22:41:15 | 显示全部楼层
本帖最后由 无量寿经 于 2017-9-4 22:45 编辑

不需要左移8位,以下内容来源于《51单片机轻松入门 基于STC15W4K系列》,完整工程见附件 1—单只18B20测温(1602写单字符方式).rar (56.63 KB, 下载次数: 149)
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2017-9-5 12:35:03 | 显示全部楼层
本帖最后由 zhxzhx 于 2017-9-5 12:38 编辑
无量寿经 发表于 2017-9-4 22:41
不需要左移8位,以下内容来源于《51单片机轻松入门 基于STC15W4K系列》,完整工程见附件实验现象:

/单 ...

不用这样麻烦,这个格式 直接就是 signed int 直接赋值就行
     signed int ls;
     ls=(int)(temp_buff[1]*256+temp_buff[0]);
      ls *=10;
      ls /=16;

ls 是 扩大10倍的温度

回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2017-9-14
在线时间
0 小时
发表于 2017-9-14 17:11:14 | 显示全部楼层
都是高手   新人前来学习
PCB,传感器,无线充电线圈 http://www.pcbpartner.cn
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 21:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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