OpenEdv-开源电子网

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

DS18B20实验好像有点问题

[复制链接]

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
发表于 2012-12-19 14:02:05 | 显示全部楼层 |阅读模式

以下是源码:
short DS18B20_Get_Temp(void)
{
    u8 temp;
    u8 TL,TH;
     short tem;
    DS18B20_Start ();                    // ds1820 start convert
    DS18B20_Rst();
    DS18B20_Check(); 
    DS18B20_Write_Byte(0xcc);// skip rom 跳过ROM
    DS18B20_Write_Byte(0xbe);// convert 读温度指令 从字节0开始读 直到CRC第九字节  
    TL=DS18B20_Read_Byte(); // LSB  字节0为温度低8位
    TH=DS18B20_Read_Byte(); // MSB  字节1为温度高8位
.............
感觉有些问题:在执行完DS18B20_Start ();之后,我感觉要等待一段时间,由于DS18B20也是数据采集系统,要进行数据采集,数据处理这些过程,这些都要花时间的。
好像数据手册里有说转换时间(和设置的精度有关),见附件图。
我修改的如下,不知道正确与否,忘大家提出意见。



short DS18B20_Get_Temp(void)
{
    u8 temp;
    u8 TL,TH;
     short tem;
    DS18B20_Start ();                    // ds1820 start convert
    delay_ms(800);//加入延时  等待转换完成
    DS18B20_Rst();
    DS18B20_Check(); 
    DS18B20_Write_Byte(0xcc);// skip rom 跳过ROM
    DS18B20_Write_Byte(0xbe);// convert 读温度指令 从字节0开始读 直到CRC第九字节  
    TL=DS18B20_Read_Byte(); // LSB  字节0为温度低8位
    TH=DS18B20_Read_Byte(); // MSB  字节1为温度高8位
.............

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-19 18:14:09 | 显示全部楼层
应该是第二次可以读取第一次转换的结果,第三次转换,读取第二次结果。因为我们大部分情况都没有加这个延时,读数也没出问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
 楼主| 发表于 2012-12-19 18:44:18 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
恩,懂你的意思。但是第一次采集的数据就有点不准了,而且如果有些用户想连续采集多次温度,然后求平均的话,这个就有点呛了。
O(∩_∩)O~  这是我的理解。
如果是每次采集间隔时间比较长的话,你那样还是可以的。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-19 18:47:43 | 显示全部楼层
但是每次等待800ms来读数据,多任务的代码还好,要是单线程的就受不了了。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
 楼主| 发表于 2012-12-19 18:58:36 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
O(∩_∩)O哈哈~   谢谢提醒,我没写过操作系统的,所以驱动没有考虑到这些。学过一点操作系统工作原理,你说的很有道理,受益匪浅呀!! 
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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