您尚未登录。

楼主 #1 2021-03-30 23:23:30

mysteryli
会员
注册时间: 2020-03-05
已发帖子: 481
积分: 386
个人网站

大家好,本人最近在学习linux,关于驱动有一个小问题请问一下

我在网上查询到内核已经支持了sht2x的温湿度传感器驱动,然后我更改了设备树,和内核的menuconfig,重新下载了内核和设备树,查看发现设备树和内核都生效了,但是我不知道系统读出的温湿度数据,我要如何在应用/命令读取?
进而举一反三思考,如果我要调试一款其他的传感器,然后发现内核已经支持了它的驱动,我经过上述对设备树和内核menuconfig的操作后,我该如何找到我的传感器的数据呢?
个人猜测是不是需要设置什么呢?还是说需要自己手动设置或者编代码实现传感器的数据,在文件系统的挂载点?想学习方法,而不是针对某一款传感器。
问题有些小白向,望大佬勿笑

离线

#2 2021-03-31 10:00:28

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 364
积分: 313

Re: 大家好,本人最近在学习linux,关于驱动有一个小问题请问一下

看看模块所属的框架位置,去寻找对应的操作操作手段就行了,例如这玩意就是在hwmon下,应该通过sys就能读取

离线

楼主 #3 2021-03-31 10:30:36

mysteryli
会员
注册时间: 2020-03-05
已发帖子: 481
积分: 386
个人网站

Re: 大家好,本人最近在学习linux,关于驱动有一个小问题请问一下

首先非常感谢答疑
那这个温湿度属于hwmon子系统了,如果以后我有其他传感器的话,我想判断它属于哪个其他子系统,如何查看linux下的所有子系统呢(是不是/sys/class文件夹下都是子系统呢)?以及每个子系统的传感器数据读取方式,有man手册嘛?

shaoxi2010 说:

看看模块所属的框架位置,去寻找对应的操作操作手段就行了,例如这玩意就是在hwmon下,应该通过sys就能读取

离线

#4 2021-03-31 13:40:05

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 364
积分: 313

Re: 大家好,本人最近在学习linux,关于驱动有一个小问题请问一下

其实最有效的方法就是去查看驱动的probe函数,看看他往那里注册的。毕竟有些有有些也没有,这个只能看驱动。
sht3x.c:
      hwmon_dev = devm_hwmon_device_register_with_groups(dev,
                                 client->name,
                                 data,
                                 attribute_groups);
ad799x.c:
      ret = iio_device_register(indio_dev);
ts2007.c:
      err = input_register_device(input_dev);

离线

楼主 #5 2021-04-01 09:04:35

mysteryli
会员
注册时间: 2020-03-05
已发帖子: 481
积分: 386
个人网站

Re: 大家好,本人最近在学习linux,关于驱动有一个小问题请问一下

好的 感谢楼上 学习了
昨天焊接了几个SHT20,结果i2cdetect都探测不到,同一个IIC总线上的GT911都探测到了,不知道是不是风枪把SHT20吹坏了,360度吹5秒左右,仔细查看了引脚和焊接,实在是找不到问题!!!

离线

#6 2022-07-12 16:45:43

kk200
会员
注册时间: 2022-07-08
已发帖子: 9
积分: 4

Re: 大家好,本人最近在学习linux,关于驱动有一个小问题请问一下

跟硬件打交道的确实debug比较难

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn