打印

DS18B20初始化失败,但延时是达到要求的

[复制链接]
6430|71
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用的正点原子的ds18b20驱动,移植到自己的cubemx生成的stm32f103c6t6工程中,无法成功初始化ds18b20
在程序中表现为ds18b20不进行应答,超过240微秒.之后通过逻辑分析仪来检测,得到stm32这边确实延时了750微秒,达到拉低总线的要求,并放开了总线,但ds18b20始终不应答
相关硬件用在原先的正点原子开发板上正常运作,放到自己的c6t6上就是不工作
求问各位朋友,是哪里出问题了

使用特权

评论回复
沙发
youkebing| | 2023-4-2 21:27 | 只看该作者
找个是示波器看一下就行了,可能是延迟时间不够

使用特权

评论回复
评论
专注于嵌入式 2023-4-3 15:17 回复TA
@中豆学士 :那就你人问题 
中豆学士 2023-4-3 12:55 回复TA
@专注于嵌入式 :线路也没问题 
专注于嵌入式 2023-4-3 12:37 回复TA
@中豆学士 :要不你量一下18B20到单片机引脚之间的线路通不通 
中豆学士 2023-4-3 12:29 回复TA
用逻辑分析仪测过信号,已经是750微秒延时低电平了,之后成功释放总线拉高电平,但就是没有响应,用的B15引脚开漏输出功能,这部分GPIO设置是正点原子初始化代码里写的,说是开漏输出下,DS18B20的高电平也可以检测到 
板凳
专注于嵌入式| | 2023-4-3 08:11 | 只看该作者
有没有可能你的硬件有问题?

使用特权

评论回复
评论
中豆学士 2023-4-3 12:31 回复TA
stm32f103c6t6其他程序正常运行,这个其他品牌的ds18b20探针在正点原子f 103系列开发板上也可以正常运行,但就是不可以在我的f103c6t6上运行 
地板
cainiao518| | 2023-4-3 10:13 | 只看该作者
IO口的模式需要变化为输入

使用特权

评论回复
5
中豆学士|  楼主 | 2023-4-3 12:36 | 只看该作者
如图,已经延时750微秒,并将总线拉高,但没有回应,于是继续重复初始化操作

QQ图片20230402164655.png (550.36 KB )

QQ图片20230402164655.png

使用特权

评论回复
6
维修超人| | 2023-4-3 14:38 | 只看该作者
把逻辑分析仪的总线分析功能用起来啊,逻辑分析仪只是拿来看高低电平时间?那跟示波器有什么区别。
这是我用逻辑分析仪抓的DS18B20图,发给你参考

使用特权

评论回复
7
ayb_ice| | 2023-4-3 14:43 | 只看该作者
我记得标准应该是480us,

使用特权

评论回复
8
中豆学士|  楼主 | 2023-4-3 19:36 | 只看该作者
问题已解决,换了一套基于位带操作的代码,问题应该出在不同型号stm的GPIO设计不同

使用特权

评论回复
9
Stahan| | 2023-4-4 23:53 | 只看该作者
是不是延迟不够的问题啊

使用特权

评论回复
10
一只眠羊| | 2023-4-9 18:29 | 只看该作者
你MCU是不是更换了啊?内核也变了?

使用特权

评论回复
11
她已醉| | 2023-4-9 18:36 | 只看该作者
位带操作不一样会出现这种问题?最后楼主咋解决的?

使用特权

评论回复
12
我吃小朋友| | 2023-4-9 19:23 | 只看该作者
你网上随便找个关于DS18B20demo试试呗

使用特权

评论回复
13
月亮一键变蓝| | 2023-4-9 20:13 | 只看该作者
这个就复杂了,时序不对就会引起这个问题

使用特权

评论回复
14
春日负喧| | 2023-4-9 21:17 | 只看该作者
你开发板用的哪个?

使用特权

评论回复
15
故意相遇| | 2023-4-9 22:12 | 只看该作者
属实像楼主说的那样,gpio的位操作不一样会出现这种问题的

使用特权

评论回复
16
白马过平川| | 2023-4-9 23:16 | 只看该作者
之前我用C6T6也出现过这个问题,换成C8就没啥问题,有点意思

使用特权

评论回复
17
风凉| | 2023-4-10 01:18 | 只看该作者
看看你的程序,到底咋写的?

使用特权

评论回复
18
在曼谷的春| | 2023-4-10 06:03 | 只看该作者
你用寄存器的方式实现估计就行,但是寄存器太难写了

使用特权

评论回复
19
未说出口的像你| | 2023-4-10 07:16 | 只看该作者
有可能是IO的输入输出模式没切换过来吧

使用特权

评论回复
20
gaoyang9992006| | 2023-4-10 11:42 | 只看该作者

DS18B20初始化失败,但延时是达到要求的

不可能,绝对不可能,可能你的代码写的有问题,没有完全符合手册的时序要求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝