OpenEdv-开源电子网

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

DS18B20输出都是0什么原因

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-5-9
在线时间
5 小时
发表于 2019-5-9 18:26:34 | 显示全部楼层 |阅读模式
1金钱
STM32F107VCT6用板载DS18B20测温模块,单独运行测温例程有温度输出,加上其他例程(比如定时器计时)温度输出就一直是0,请大佬们指点一下

运行时的输出温度,temp为输出温度

运行时的输出温度,temp为输出温度

LCD_drv.zip

3.63 KB, 下载次数: 18

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

使用道具 举报

4

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-5-5
在线时间
13 小时
发表于 2019-5-9 18:36:51 | 显示全部楼层
可能是中断打断了读取过程,在读取温度的过程中DS18B20不允许停下来,一旦读取过程被打断,本次读取是无效的,DS18B20读取一次大概几十ms,所以在读取的时候最好把中断都关了,我之前做过一次就是中断打断读取导师读不到数据,DS18B20对时序要求还是挺严格的
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-5-9
在线时间
5 小时
 楼主| 发表于 2019-5-9 21:33:19 | 显示全部楼层
MXA 发表于 2019-5-9 18:36
可能是中断打断了读取过程,在读取温度的过程中DS18B20不允许停下来,一旦读取过程被打断,本次读取是无效 ...

谢谢!可能就是这个原因了。可是现在最后的作品要用到定时器中断(万年历),请问有别的办法能定时器和DS18B20都能用吗?
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1765
金钱
1765
注册时间
2015-6-11
在线时间
312 小时
发表于 2019-5-10 09:04:08 | 显示全部楼层
熨斗侠 发表于 2019-5-9 21:33
谢谢!可能就是这个原因了。可是现在最后的作品要用到定时器中断(万年历),请问有别的办法能定时器和DS ...

DS18B20的时序的读写要求比较严格,简单的办法,在读取前关中断,读取后开中断即可
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-5-9
在线时间
5 小时
 楼主| 发表于 2019-5-10 11:59:10 | 显示全部楼层
zc123 发表于 2019-5-10 09:04
DS18B20的时序的读写要求比较严格,简单的办法,在读取前关中断,读取后开中断即可

谢谢!刚刚照你说的试了,DS18B20还是没法读取温度不知道怎么办了
回复

使用道具 举报

0

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2019-12-3
在线时间
27 小时
发表于 2019-12-5 12:52:34 | 显示全部楼层
本帖最后由 M8Sh0tn0 于 2019-12-5 15:00 编辑

用软延时来生18B20时序只能用于实验,用于生产环境恐怕有问题,因为总有其它的各种中断产生,软延时的时间长度就一定不会准确.
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 20:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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