你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32的DS18B20的问题  

[复制链接]
H_JEN 提问时间:2016-5-2 17:21 /
阅读主题, 点击返回1楼
收藏 3 评论55 发布时间:2016-5-2 17:21
55个回答
wamcncn 回答时间:2016-5-4 17:40:06
本帖最后由 wambob 于 2016-5-4 17:44 编辑

18b20是单总线器件,外部需要上拉,而且时序对延时有要求,我开始跳这个,也没调成,最后还是用别人的例子移植成功了。这是我的18b20例程,希望对你有用
https://www.stmcu.org.cn/module/forum/thread-600041-1-1.html

评分

参与人数 1ST金币 +2 收起 理由
沐紫 + 2

查看全部评分

zhang7309 回答时间:2016-5-4 19:32:50
首先确定传感器是不是好的

评分

参与人数 1ST金币 +2 收起 理由
沐紫 + 2

查看全部评分

sacq12 回答时间:2016-5-4 19:40:32
楼主给出你的连线图,免得大家怀疑上拉电阻什么的;
如有可能,用逻辑分析仪看波形更好。

评分

参与人数 1ST金币 +2 收起 理由
沐紫 + 2

查看全部评分

wenyangzeng 回答时间:2016-5-4 20:50:33
楼主,关键就在初始化的480us,不同厂家的芯片这几百微秒都不尽相同,有的需要650us,有的要700us.你多试几次就OK了。

评分

参与人数 1ST金币 +2 收起 理由
沐紫 + 2

查看全部评分

零tot 回答时间:2016-5-4 21:27:14
建议看一下看一下各端口的波形是否正确,是否是自己需要的延时,检查管脚功能是否设置是正确的,达到自己预定的效果

评分

参与人数 1ST金币 +2 收起 理由
沐紫 + 2

查看全部评分

watershade 回答时间:2016-5-4 22:22:33
个人觉得不应该改变输入输出状态。建议用USART设置成1-wire试试。

评分

参与人数 1ST金币 +2 收起 理由
沐紫 + 2

查看全部评分

cos12a-21701 回答时间:2016-5-5 12:27:10
先确认硬件是否连接好,IO是否连对,有无上下拉,测试电压是否正常(包括电源,IO口)。
调试程序IO输出,是否能正常输出,是否能读入。
再用检测程序时序是否正确,数据是否正确。
如果都正确再更换传感器零件测试一下。
时光虫子 回答时间:2016-5-5 21:10:12
IO配置浮空输入就可以了,数据上拉的
Taonsh 回答时间:2016-5-6 15:53:19
解决了没?这个不难啊,延时改一下试试。
H_JEN 回答时间:2016-5-8 16:10:06
LIUBEIHUA 发表于 2016-5-4 16:16
STM32的DS18B20的测温
设置成开漏输出,外接上拉电阻,
没有说明芯片类型,如是F103直接设成开漏输出。

103的,现在改了成开漏了,能读数据了,但是读出来的数据要么全为0,要么全为1,而且低八位总是为0
H_JEN 回答时间:2016-5-8 16:10:54
wtliu 发表于 2016-5-4 16:19
有做上啦设置吗?

有上拉电阻。能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
H_JEN 回答时间:2016-5-8 16:11:57
jtc_88 发表于 2016-5-4 16:46
公司电脑 不太好弄 我有一个 STM32F030 读取DS18B20的程序 上传不上去  
《DS18B20.c》

谢谢,不过我的是103的。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
H_JEN 回答时间:2016-5-8 16:12:29
wambob 发表于 2016-5-4 17:40
18b20是单总线器件,外部需要上拉,而且时序对延时有要求,我开始跳这个,也没调成,最后还是用别人的例子 ...

谢谢。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
H_JEN 回答时间:2016-5-8 16:12:47
zhang7309 发表于 2016-5-4 19:32
首先确定传感器是不是好的

传感器是好的。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
H_JEN 回答时间:2016-5-8 16:18:52
sacq12 发表于 2016-5-4 19:40
楼主给出你的连线图,免得大家怀疑上拉电阻什么的;
如有可能,用逻辑分析仪看波形更好。 ...

图片中的左边是电源线,中间是数据线,右边是地线。
现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
IMG_20160508_161413.jpg

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版