CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
楼主: siqiang_comeon

求cubieboard2温度传感器18b20的驱动

[复制链接]
 楼主| 发表于 2016-3-3 19:07:55 | 显示全部楼层
@allen 发表于 2016-3-3 09:34
如果你用的是https://www.kernel.org/ 内核,
有arch/arm/boot/dts/sun7i-a20-cubieboard2.dts

[gpio_para]
gpio_used = 1
gpio_num = 2
gpio_pin_1 = portD20<1><default><default><1>
gpio_pin_2 = portD18<1><default><default><1>
gpio_pin_3 =portD15<1><default><default><1>

[w1_para]      
gpio =3   

只需要这么改就行了是吗   然后接PD15到我的18b20的dq线上吗
我在w1/devices下面没有看到任何的数据 这是为什么呢  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-4 01:34:58 | 显示全部楼层
@allen 发表于 2016-3-3 09:34
如果你用的是https://www.kernel.org/ 内核,
有arch/arm/boot/dts/sun7i-a20-cubieboard2.dts

我使用的是官方驱动的  是直接修改这个么
[gpio_para]
gpio_used = 1
gpio_num = 2
gpio_pin_1 = portG12<1><default><default><1>
gpio_pin_2 = portD15<1><default><default><1>
gpio_pin_3 = portD16<1><default><default><1>

[w1_para]
gpio = 3

我是这样改的  所以我这个温度传感器的qt脚就是pd16是么   
/sys/bus/w1/devices/  没有任何东西啊
回复 支持 反对

使用道具 举报

发表于 2016-3-4 11:25:45 | 显示全部楼层
siqiang_comeon 发表于 2016-3-4 01:34
我使用的是官方驱动的  是直接修改这个么
[gpio_para]
gpio_used = 1

http://dl.cubieboard.org/partene ... rting%20Drivers.pdf

里面有one-wire 的配置

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-4 16:41:24 | 显示全部楼层
@allen 发表于 2016-3-4 11:25
http://dl.cubieboard.org/partene ... rting%20Drivers.pdf

里面有one-wire 的配置

[w1_para]      
w1_used = 1   
w1_pin = portD15<1><default><default><default>

加载wire.ko后  直接加这个就可以了吗
/sys/bus/devices下还是什么都没有啊

回复 支持 反对

使用道具 举报

发表于 2016-3-7 09:48:15 | 显示全部楼层
siqiang_comeon 发表于 2016-3-4 16:41
[w1_para]      
w1_used = 1   
w1_pin = portD15

这么配可以了。你怎么接的模组?  


回复 支持 反对

使用道具 举报

发表于 2016-3-7 10:41:45 | 显示全部楼层
本帖最后由 @allen 于 2016-3-7 11:00 编辑

大概了解了。
应该linux 内核里面的w1_sunxi 驱动 没编进去。这个驱动最后是w1_sunxi.ko .

选区_001.png
自己选上,驱动编译加载就可以。
编译方法:http://cubie.cc/forum.php?mod=viewthread&tid=4257&extra=page%3D1



回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-7 13:29:18 | 显示全部楼层
@allen 发表于 2016-3-7 10:41
大概了解了。
应该linux 内核里面的w1_sunxi 驱动 没编进去。这个驱动最后是w1_sunxi.ko .

这个是否不能单独编译    我一把obj-$(CONFIG_W1_SUNXI) += w1_sunxi.o  这里的obj-$(CONFIG_W1_SUNXI) 改成m它就报这样的错误了  一定要编译内核重新烧录才行吗
59B402F1-CAEC-4EF1-B9CD-BB65436563A0.jpg
回复 支持 反对

使用道具 举报

发表于 2016-3-7 15:11:20 | 显示全部楼层
本帖最后由 @allen 于 2016-3-7 15:19 编辑

大哥,你别直接改M 啊,驱动有依赖的。

make menuconfig ARCH=arm
在界面中选上需要依赖的驱动,具体看截图那个 depends on


回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-8 19:11:48 | 显示全部楼层
@allen 发表于 2016-3-7 15:11
大哥,你别直接改M 啊,驱动有依赖的。

make menuconfig ARCH=arm

OK  驱动编译且加载成功了  现在是加载了两个驱动  一个是wire.ko    一个是w1_sunxi.ko驱动
然后管脚配置是这样
[gpio_para]
gpio_used = 1
gpio_num = 2
gpio_pin_1 = portD20<1><default><default><1>
gpio_pin_2 = portD18<1><default><default><1>

[w1_para]
gpio = 2

这样子还有什么错误吗   还是只有/sys/bus/w1_device/节点  里面没有任何东西    还有什么东西没加上去吗   谢谢了!

回复 支持 反对

使用道具 举报

发表于 2016-3-10 18:01:39 | 显示全部楼层
知道原因了。接好DS18B20,记得一定要加上拉电阻,不加肯定不出节点。
选区_003.png
驱动有点更新,可以换了再编译 w1.tar.gz (52.66 KB, 下载次数: 16) 。你的配置是也对的。下面是我的

[gpio_para]
gpio_used = 1
gpio_num = 3
gpio_pin_1 = portH20<1><default><default><1>
gpio_pin_2 = portH21<1><default><default><1>
gpio_pin_3 = portB10<1><default><default><1>

[w1_para]
gpio = 3
选区_004.png


再将所有的驱动都加载上了,节点就能出来
选区_005.png


先wire w1_sunxi,w1_gpio,后会出现w1 总线
ls /sys/bus/w1/devices/
加载w1_therm ,才能认到设备,比如

root@cubieboard2:~# cat /sys/bus/w1/devices/28-00043ea28fff/w1_slave                                                                                                                                         
63 01 55 00 7f ff 0c 10 ec : crc=ec YES
63 01 55 00 7f ff 0c 10 ec t=22187

我是在DVK521 验证的,http://dl.cubieboard.org/parteners/waveshare/




回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-22 19:13 , Processed in 0.028184 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部