首页 理论教育 Linux驱动开发实例

Linux驱动开发实例

时间:2023-10-19 理论教育 版权反馈
【摘要】:input_dev结构有一个重要的成员,就是event接口。int;本节以一个实例形式介绍这个接口的使用。例10.3 LED输入事件处理实例电路原理见第6章。核心代码如下:应用层通过/dev/input/event1控制LED灯。注意这里的打开标志设置成O_WRONLY。当应用层调用write函数,进入内核中将会调用evdev_write函数:input_inject_event函数中调用了input_handle_event函数,input_handle_event函数定义如下:可见内核会自动调用s3c6410_LED_event函数。

Linux驱动开发实例

input_dev结构有一个重要的成员,就是event接口

int(*event)(struct input_dev*dev,unsigned int type,unsigned int code,int value);

本节以一个实例形式介绍这个接口的使用。

例10.3 LED输入事件处理实例

电路原理见第6章。代码见samples\10input\10-2event。核心代码如下:

应用层通过/dev/input/event1控制LED灯。注意这里的打开标志设置成O_WRONLY。

当应用层调用write函数,进入内核中将会调用evdev_write函数:

input_inject_event函数中调用了input_handle_event函数,input_handle_event函数定义如下:

可见内核会自动调用s3c6410_LED_event函数。加载这个驱动,并运行应用程序就能看到LED闪灭:

[root@urbetter drivers]#insmod demo.ko

input:s3c6410LED as/devices/virtual/input/input1(www.xing528.com)

input:s3c6410LED

[root@urbetter drivers]#./test

s3c6410_LED_event type17 value1

s3c6410_LED_event type17 value0

s3c6410_LED_event type17 value1

s3c6410_LED_event type17 value0

s3c6410_LED_event type17 value1

^C

[root@urbetter drivers]#

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈