Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux中获取事件文件/dev/input/event*_Linux_Embedded - Fatal编程技术网

如何在linux中获取事件文件/dev/input/event*

如何在linux中获取事件文件/dev/input/event*,linux,embedded,Linux,Embedded,我是linux新手,在一个项目中工作,该项目包括一些gpio连接到我的calixto板,在此基础上,我执行从sys/class/gpio*/value获得的操作,并将其放入while循环中,但它会消耗大量资源,因此我想使其基于事件,即如何从/dev/input/event*文件中获取事件&问题是什么在创建uImage的过程中需要在内核中进行配置,这要提前感谢。如果您是指使用Asyc访问,我认为以下是一个良好的开端: 事件由输入设备创建,而不是直接由GPIO创建。(请记住,其他事件来源可能包括鼠标

我是linux新手,在一个项目中工作,该项目包括一些gpio连接到我的calixto板,在此基础上,我执行从sys/class/gpio*/value获得的操作,并将其放入while循环中,但它会消耗大量资源,因此我想使其基于事件,即如何从/dev/input/event*文件中获取事件&问题是什么在创建uImage的过程中需要在内核中进行配置,这要提前感谢。

如果您是指使用Asyc访问,我认为以下是一个良好的开端:


事件由输入设备创建,而不是直接由GPIO创建。(请记住,其他事件来源可能包括鼠标、键盘、触摸屏和操纵杆等。)从GPIOs创建输入设备的最简单方法是声明
gpio_键
平台设备,方法是将一个设备添加到设备树中(如果正在使用),或者编辑板配置文件(如果没有)。细节将在很大程度上取决于您使用的确切平台


本网站上有一个简短的演练-针对不同的硬件,但原则是相似的:

您可以解释为什么要基于事件,以及您认为它是什么。不确定硬件(未提及)是否将IO映射到这些人工输入设备事件,如果在链接末尾是,您会发现一些提示:根据给定的示例,我已在我的文件中更改了board calixto evm.c和board-da850-evm.c,但我不知道如何创建节点,以及从何处获取连接到48,49,…55的gpio的code=BTN_EXTRA。我想要的是,当我按下gpio键48时,它的输入必须在/dev/input/event文件中可见,从那里我将读取值并执行我的工作。我在内核编译期间也做了更改,但没有目录,即gpio48,…gpio55以及我将如何测试gpio在按下时是否工作。我是否必须使用pinmux执行某些操作,因为我的驱动程序通过使用/proc/bus/input/devices可见。根据给定的示例,我已在我的文件中更改了board calixto evm.c和board-da850-evm.c,但我不知道如何创建节点和从何处获取连接到48,49,…55的gpio引脚的gpio的代码=BTN_EXTRA。我想要的是,当我按下gpio键48时,它的输入必须在/dev/input/event文件中可见,从那里我将读取值并执行我的工作。我在内核编译期间也做了更改,但没有目录,即gpio48,……gpio55以及我将如何测试gpio在按下时是否正常工作我是否必须使用pinmux,因为我的驱动程序可以通过/proc/bus/input/devices看到我在的主页上没有看到任何指定gpio功能的产品-您能更具体地说明您有什么类型的USB设备吗?如果设备显示与示例不同,则可能是它需要不同的方法-它是特定于设备(类)的。