通过查看开发板的核心电路原理图,加上查阅SUMSANG
2440的datasheed得知四个按键K1,K2,K3,K4对应GPF中的GPF1,GPF4,GPF2,GPF0。将这四个引脚配置为输入模式,
这样通过GPFDAT寄存器中的相应为来得知哪个键被按下,当某个键被按下时,相应连接引脚接地,为低电平,在GPFDAT中相应的为表现为逻辑0。否则
为1。
设置C语言环境的汇编文件和循环点亮LED灯的实验中的一样,Makefile也不需要修改,当然,如果改变源文件的名称还是需要去修改Makefile的。贴出main.c文件如下:#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)
#define LED4_SET_OUTPUT ((1<<10) | (1<<12) | (1<<14) | (1<<16))
#define LED1_ON (~(1<<5))
#define LED2_ON (~(1<<6))
#define LED3_ON (~(1<<7))
#define LED4_ON (~(1<<8))
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define KEY4_SET_INPUT (~((3<<0) | (3<<2) | (3<<4) | (3<<8)))
#define KEY_1 (1 &l