电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
用DS18B20温度采集,读不出数据的问题?
已解决
73482
个问题
已帮助
5993
位优秀工程师
用DS18B20温度采集,读不出数据的问题?
电子WWW
2019-04-01
浏览量:4955
用M0内核的一个32单片机,驱动ds18b20采集温度,能检测到ds18b20,但是读不出来数据,
用示波器测量温度传感器数据输出口,得到的是一个评率相同的正弦波,正常状态下应该是一个频率不同矩形波
显示全部
关注问题
写回答
1
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
我是假管贴胸小助手
波形变为正弦波,说明你的电路上存在问题吧,可能是你的ds18b20的数据引脚上存在一个电容,导致信号波形发生畸变。至于你说的能检测到传感器,但是读不出数据,这应该就是延时时间导致的,这个传感器对时间要求还是比较严格的,在编程的时候要多留意,最好有个逻辑分析仪就好办了。我之前在使用103驱动ds18b20的时候,发现一个问题,就是只要我初始化定时器后,一旦使能定时器,定时器就会立马发生一个中断事件,而从使能定时器到这个中断发生刚好符合ds18b20的复位电平,好像是750ns左右。而且我程序移植到407芯片也是一样。也就是说,只要是定时器初次使能,就会自动出现一个定时器中断请求。不知道你的M0芯片存不存在这个问题。
发布于
2019-04-02
举报
评论 0
1
0
其他答案
数量:
7
yhj416606438
如果能检测到18b20说明通讯没问题,数据读不到,可能延时有误差,检测可以,但是数据读取对时钟要求较高,可用示波器看下延时误差是否再范围之内
发布于
2019-04-01
举报
评论 1
3
0
电子WWW
回复了 yhj416606438 :用示波器测量温度传感器数据输出口,得到的是一个正弦波
回复
zyh7148
要用示波器看看输出的DS18B20的信号时序对吗?是不是datasheet上面给的时间。
发布于
2019-04-01
举报
评论 0
1
0
Linux小学童
这种情况照着DS18B20的时序,看一下延时是否满足时序要求;另外,可以把读取字节这部分代码贴上看看。
发布于
2019-04-01
举报
评论 0
1
0
某某偶178
估计是延时有问题,我当时跟你情况差不多,后来改改延时就差不多了。把DS18B20的手册看一下,再改改程序。
发布于
2019-04-02
举报
评论 0
1
0
代人凌峰
测到正弦波可能是硬件上的问题或者测量不标准的原因
测量是否共地,输入最好高阻态,降低影响
然后看硬件上总线的上拉电阻是否太高,影响到了通讯
发布于
2019-04-03
举报
评论 0
1
0
chen0000009
如果用示波器测到DS18B20输出脚上面有正弦波,说明电平变化的速度过于缓慢,应该是电路上面有电容这类储能器件,像DS18B20,可以选择加一个电容来滤波,但是这个电容不宜加的太大,用那种贴片的就足够了
发布于
2019-04-04
举报
评论 0
1
0
54ff9096f7693590
首先波形变成了正弦波,这个应该是传感器电路上有容性负载,导致波形变差。其次,初始化成功,说明传感器是没有问题,但是这个传感器对时序要求比较严格,可能你程序的时序是正确的,但是由于波形变差,相当于你的时序发生了改变,所以导致读不出数据。建议还是先把电路理一下,波形先调整回来
发布于
2019-04-12
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
用DS18B20温度采集,读不出数据的问题?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: