|
- #define GLOBAL_CLK 1
- #include
- #include
- #include "def.h"
- #include "option.h"
- #include "2440addr.h"
- #include "2440lib.h"
- #include "2440slib.h"
- #include "mmu.h"
- #include "profile.h"
- #include "memtest.h"
-
- void key_init(void);
- static void __irq key_handler(void);
-
-
- /*************************************************
- 延时函数
- **************************************************/
- void delay(int times)
- {
- int i,j;
- for(i=0;i
- for(j=0;j<400;j++);
- }
-
-
- /*************************************************
- LED初始化
- **************************************************/
- void Led1_init(void)
- {
- rGPBCON &= ~(3<<10);
- rGPBCON |= (1<<10);
- }
-
-
- /*************************************************
- 点亮LED
- **************************************************/
- void Led1_run(void)
- {
- rGPBDAT &=~(1<<5);
- delay(1000);
- rGPBDAT |=(1<<5);
- delay(1000);
-
- }
-
-
- /*************************************************
- 主函数
- **************************************************/
- void Main(void)
- {
- MMU_Init();
- Led1_init();
- key_init();
- while(1);
- }
-
- /*************************************************
- 按键初始化
- **************************************************/
- void key_init(void)
- {
- rGPFCON &= ~(0x3<<0);
- rGPFCON |= (0x2<<0);//GPG0 [1:0]--->10 = EINT[8] 设置GPG0为中断模式
-
- rEXTINT1 &= ~(0xf<<0); //EINT8 [2:0] ----> 000 = Low level
- //FLTEN8 [3] ------->0 = Filter Disable
- ClearPending(BIT_EINT0);
-
- pISR_EINT0=(U32)key_handler;//key_handler函数编译后的代码入口地址
-
- }
-
-
-
- /*************************************************
- 按键中断处理函数
- **************************************************/
- static void __irq key_handler(void)
- {
-
- Led1_run();
- ClearPending(BIT_EINT0);
-
- }
-
-
-
复制代码 为什么按键中断不管用,帮我看看错误,多谢了
[ 本帖最后由 jy1075518049 于 2012-12-14 19:16 编辑 ]
|
|