Page 1 of 1

1-wire bus怎么配置

Posted: 2025-05-08 13:28
by hista
我想读取DS18b20,我看kernel中支持Dallas’ 1-wire bus,我在设备树中打开
CONFIG_W1=y
CONFIG_W1_MASTER_GPIO=y
CONFIG_W1_SLAVE_THERM=y
这几个选项,重新烧录后执了下面两个命令
modprobe w1-gpio gpiopin=18
modprobe w1-therm
然后在/sys/bus/w1/devices/下没有发现18b20设备,我想咨询一下我配置的哪些配置不对。

Re: 1-wire bus怎么配置

Posted: 2025-05-09 2:15
by Crocodile
您好,我查看了 kernel 6.10 的w1-gpio源码应该是不支持传入gpiopin参数的,这意味着您还需要修改设备树来让驱动可以匹配设备进行加载,可以参考文档 $SDK/kernel-6.1/Documentation/devicetree/bindings/w1/w1-gpio.yaml

Re: 1-wire bus怎么配置

Posted: 2025-05-09 13:15
by hista
看过了那个yaml,还是没配置明白,能够提供一个示例吗?
今天添加了w1-gpio-cl,用命令行“modprobe w1-gpio-cl m1=''gdt=41"” 配置出来ds18b20传感器,但是通过设备树还是没有配置出来。

Re: 1-wire bus怎么配置

Posted: 2025-05-09 14:05
by Crocodile
技术支持不包括驱动的适配细节,同时我也没有硬件可以用于验证判断是正确的,如果您通过您的方法已经有进展,就通过内核信息和相关注册节点进一步验证驱动是否加载成功