查询方式读取按键值
驱动在led基础上修改
初始化→设置key对应的IO为输入模式
添加驱动中的read函数
应用在gpio读的基础上修改
按键按下的时候,应该是0。检测按键就是判断buffer有没有0
使用查询的方式,占用CPU达到50%,效率非常低
后面介绍中断的方式来获取按键值
驱动源码
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <mach/gpio.h>
#include <plat/gpio-cfg.h>
#include <linux/miscdevice.h>
#include <linux/platform_device.h>
//#include <mach/gpio-bank.h>
#include <mach/regs-gpio.h>
#include <asm/io.h>
#include <linux/regulator/consumer.h>
//#include "gps.h"
#include <linux/delay.h>
//copy_to_user的头文件
#include <asm/uaccess.h>
#define DPRINTK(x...) printk("POLLKEY_CTL DEBUG:" x)
#define DRIVER_NAME "pollkey"
static int key_gpios[] = {
EXY