fjhcpu 发表于 2024-6-21 15:25

hc32f030读取DS18B20实在搞不定了。哪位有代码参考下呀

hc32f030读取DS18B20实在搞不定了。哪位有代码参考下呀   ,,我这HC005读取正常,030读取异常,有搞过030读取18B20的支援下呀

zkevin8879 发表于 2024-6-22 11:55

用示波器看时序,不过最好用逻辑分析仪 自带的单总线来看时序 就能找到问题了

亚瑟 发表于 2024-6-28 18:47

本帖最后由 亚瑟 于 2024-6-28 18:51 编辑

这有个写好的库,改一下宏定义就能用https://bbs.21ic.com/icview-3383896-1-1.html

发货后已经wi 发表于 2024-8-28 18:58

选择DMA中断类型为:数据块传输完成中断

ewyu 发表于 2024-9-18 13:14

试试逻辑分析仪试试呗,也许就可以了

gra22ce 发表于 2024-9-18 14:18

这种不就是一个时序吗?你对照时序试试

eleg34ance 发表于 2024-9-18 15:22

网上有很多关于DS18B20的例程的,然后你移植过来,调整一下时序就好了

nuan11nuan 发表于 2024-9-18 16:25

这种参考也没多大意义,因为你的MCU和别人的MCU也不一样

清芯芯清 发表于 2024-9-18 17:28

其实就是时序不对,跟你主频啥的有关系

pe66ak 发表于 2024-9-18 19:10

你用delay试试吧,多调一下时序试试

yuliangren 发表于 2024-9-18 20:29

我觉得你用逻辑分析仪就行,这种很简单,对照手册来调试就行

teaccch 发表于 2024-9-19 08:24

把你代码发出来看看,并且把你时序发出来看看

hhdhy 发表于 2024-9-19 10:05

一般单总线的话,你就直接调整时序不就行了吗

一切D都好 发表于 2024-9-19 13:06

代码都是通用的啦,你030和050的主频估计不一样,你配置主频一样试试,或者等比例的调整delay试试

shenxiaolin 发表于 2024-9-29 11:04

网上代码太多了

略略u 发表于 2024-10-2 21:53

HC005读取正常,030读取异常

jtracy3 发表于 2024-10-7 12:39

由于DS18B20使用1-Wire(单总线)通信协议,需要精确控制时序。

hilahope 发表于 2024-10-7 13:05

DS18B20使用单总线协议进行通信,这意味着所有的数据和命令都是通过一条线进行传输的。因此,精确的时序控制是非常重要的。

timfordlare 发表于 2024-10-7 13:53

编写函数来执行复位脉冲、写位、读位等操作。
发送正确的ROM指令和功能指令给DS18B20,例如跳过ROM指令(0xCC)和转换温度指令(0x44)。

xiaoyaodz 发表于 2024-10-7 15:09

DS18B20对时序有严格要求,需要使用定时器延时获得微秒级的延时函数。
在写操作中,总线拉低的时间和释放总线的时间需要精确控制。
页: [1] 2 3
查看完整版本: hc32f030读取DS18B20实在搞不定了。哪位有代码参考下呀