---恢复内容开始---
1:按键原理图
按键按下的时候EINT2、EINT3、KP_COL0-3为低电平;
EINT2、EINT3引脚接在GPH0_2、GPH0_3引脚,引脚配置为输入模式,当引脚检测为低电平的时候说明有按键按下,
KP_COL0-3引脚为GPH2_0~GPH2_3,,引脚配置为输入模式,当引脚检测为低电平的时候说明有按键按下,
2:代码实战
轮询方式检测有无按键
/* * s5pv210裸机实验 * * key * */ #define _REG_GPH0CON (*(volatile unsigned int *)0xE0200C00) #define _REG_GPH0DAT (*(volatile unsigned int *)0xE0200C04) #define _REG_GPH2CON (*(volatile unsigned int *)0xE0200C40) #define _REG_GPH2DAT (*(volatile unsigned int *)0xE0200C44) void led_blink(void); void led_off(void); void key_init(void) { //EINT2配置为输入模式 _REG_GPH0CON &= ~(0xFF<<8); //GPH2_0~GPH2_3置为输入 _REG_GPH2CON &= ~(0xFFFF<<0); } void key_polling(void) { key_init(); while (1) { if (!(_REG_GPH0DAT & (0x1<<2))) { led_blink(); } if (!(_REG_GPH0DAT & (0x1<<3))) { led_blink(); } if (!(_REG_GPH2DAT & (0x1<<0))) { led_blink(); } if (!(_REG_GPH2DAT & (0x1<<1))) { led_blink(); } if (!(_REG_GPH2DAT & (0x1<<2))) { led_blink(); } if (!(_REG_GPH2DAT & (0x1<<3))) { led_blink(); } } }
原文:http://www.cnblogs.com/biaohc/p/6353954.html