查看: 14209|回复: 0

ADC按键功能定制

[复制链接]

10

主题

0

回帖

3034

积分

论坛元老

Rank: 8Rank: 8

积分
3034
发表于 2019-5-24 17:45:57 | 显示全部楼层 |阅读模式
内核
kernel/arch/arm64/boot/dts/rpdzkj_config.dtsi
adc-keys {
               up-key {
                        linux,code = <103>;                        //按键号码
                        label = "up";                                        //按键类型
                        rockchip,adc_value = <839>;                //adc键值
                };
};
PS:GPIO按键不需要ADC键值
按键号码跟按键名字决定按键的功能
按键号码与按键类型的值可以从系统头文件获取,不同系统在不同的目录
adc键值的获取方式看下面

Android
device/rockchip/common/rk29-keypad.kl
key 103   UP
103跟dts的“linux,code”对应
UP跟dts的“label”对应,up名字由记录按键类型文件中获取


读取ADC键值的方法:
1、按键驱动中找到读取ADC键值的节点
/kernel/drivers/input/keyboard/rk_keys.c        
系统具体使用的按键驱动在相应的目录下找到被编译的文件
static ssize_t adc_value_show(struct device *dev, struct device_attribute *attr,char *buf)
{
        struct rk_keys_drvdata *ddata = dev_get_drvdata(dev);

        return sprintf(buf, "adc_value: %d\n", ddata->result);
}
static DEVICE_ATTR(get_adc_value, S_IRUGO | S_IWUSR, adc_value_show, NULL);
//get_adc_value就是节点的名字

static int keys_probe(struct platform_device *pdev)
{
error = device_create_file(dev, &dev_attr_get_adc_value);
//创建节点的函数
}
2、在文件系统中cat节点
busybox find / -name "get_adc_value"
按下按键
cat /sys/devices/ff100000.adc/key.35/get_adc_value
显示出对应按键的adc键值:adc_value:xxx


回复

使用道具 举报

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

本版积分规则

源创嵌入式官网

GMT+8, 2024-5-3 07:48 , Processed in 0.083454 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表