标题: stm32f103单片机最小系统板的温度测量 应答一直返回值为1,检测不到ds18b20 [打印本页]

作者: fhff    时间: 2022-11-27 20:55
标题: stm32f103单片机最小系统板的温度测量 应答一直返回值为1,检测不到ds18b20

用STM32F103C8T6最小系统板驱动DS18B20,这里的应答一直返回值为1,检测不到ds18b20,代码检查了几遍没有问题,有没有大佬解答一下


作者: dasSpieler    时间: 2022-11-28 00:39
代码看上去是对的。考虑一下硬件连接是否有问题,传感器io是否正确上拉,或更换传感器(ds18b20应该不太容易坏,除非正负极接反);
单片机io初始化是否正确,ds18b20在发送命令前是否正确reset。这个东西用起来没啥难度,网上一堆例程可以参考。
作者: BG6BXN    时间: 2022-11-28 07:52
看一下延时是否正确。
作者: zsyzdx    时间: 2022-11-28 16:41
用示波器测试一下延时电路准不准,然后再调试程序。
作者: fhff    时间: 2022-11-28 20:24
dasSpieler 发表于 2022-11-28 00:39
代码看上去是对的。考虑一下硬件连接是否有问题,传感器io是否正确上拉,或更换传感器(ds18b20应该不太容 ...

连接没有问题,网上的代码都试过了,大同小异,但都无法完成让初始化返回值为0
作者: fhff    时间: 2022-11-28 20:25
dasSpieler 发表于 2022-11-28 00:39
代码看上去是对的。考虑一下硬件连接是否有问题,传感器io是否正确上拉,或更换传感器(ds18b20应该不太容 ...

延时用的正点原子代码,应该也没问题

作者: dasSpieler    时间: 2022-11-28 20:39
fhff 发表于 2022-11-28 20:24
连接没有问题,网上的代码都试过了,大同小异,但都无法完成让初始化返回值为0

原子的例程照着用是绝对能用的,除了没有单总线上挂载多个设备的功能。换个传感器试试,好好检查一下所有有可能疏忽的地方。
作者: zhxzhx    时间: 2022-11-29 23:37
现在,很多 DS8B20并不是 DS18B20,时序是不一样的
作者: Longan.Wang    时间: 2022-11-30 17:31
这种问题,如果不是硬件原因,一般都时时序问题,所以最好的办法是,挂个示波器,查看时序,哪儿不对修改哪




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1