--作者:赖玉平(Peter Lai)aulyp@163.com

我们实际修改开发板上已有一个按键的功能来练习。

要达到的效果:在开发板上的一个按键,做成数字“1”键,也就是在进到android后,对某个编辑框,按这个键,能输入数字“1”

一、查数字键“1”对应的code

linux-2.6.36-android/include/linux/input.h

#define KEY_1            2
#define KEY_2            3
#define KEY_3            4
#define KEY_4            5
#define KEY_5            6
#define KEY_6            7
#define KEY_7            8
#define KEY_8            9
#define KEY_9            10
#define KEY_0            11

二、硬件连接


按键

K1

K2

K4

K4

K5

K6

K7

K8

对应的中断

EINT0

EINT1

EINT2

EINT3

EINT4

EINT5

EINT19

EINT20

可复用为GPIO

GPN0

GPN1

GPN2

GPN3

GPN4

GPN5

GPL11

GPL12

clip_image002

我们使用K4 来做为数字键“1” 对应GPIO是GPN2

按下为低电平!

三、驱动中修改代码

1、按键定义

Linux-2.6.36-android/arch/arm/mach-s3c64xx/Mach-mini6410.c文件

static struct gpio_keys_button gpio_buttons[] = {
……
, {
        .gpio        = S3C64XX_GPN(2),
        .code        = 2,
        .desc        = "KEY _1",
        .active_low    = 1,
        .wakeup        = 0,
    }
}

到这一步,已经成功地把开发板上右向键(DPAD_RIGHT)改为数字键“1”了

可以编译内核,烧录到开发板去看效果


要学好嵌入式,还是建议买一个开发板,这样学习来会更快!

推荐下面4款,你可以根据你的经济能力来选一个


1、高级嵌入式开发板 ARM-A8内核,价格在2200~2700
X-210开发板(代码开放度高,XBOOT很牛)   
Mini210开发板 (友善的板子,有沉淀)

2、入门级嵌入式开发板 ARM11内核  ,价格在500~650之间
Tiny6410    (友善之臂经典之作)     
OK6410    (特点是支持WINCE7.0)

可以去风火轮团队的店里看一下,在他们那里买开发板有个好处,他们提供更周到的技术支持

风火轮技术开发团队  www.arm-cn.com

官方淘宝店:smartfire.taobao.com


csdn签名

Logo

更多推荐