TQ2440按键中断
1、需要调用MMU函数,实现内存的映射;
2、在中断触发跳入中断处理函数后,首先要清除SRCPND和INTPND相应的位,如果用到次级中断源,如这里用到了EINT4_7中的EINT4,就要清除EINTPEND相应的位。一般来说,应该先清除次级中断源相应的位,再清除中断源,否则中断源会发生多次中断。在完成清除后再进行具体的处理。
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"
#define LED1 (1<5) //must be "()"
#define LED2 (1<6)
#define LED3 (1<7)
#define LED4 (1<8)
#define KEY1
#define KEY2
#define KEY3
#define KEY4
//void delay_ms(U32 i);
void init_irq(void);
void MMU_Init(void);
int Main(void)
{
}
void delay_ms(U32 i)
{
}
void key_per(void)
{
}
void __irq key1_3_4(void)
{
}
void __irq key2(void)
{
}
//由于key2在电路图上对应的是GPF4,相应的中断功能是EINT4,它具体是由次级中断寄存器中的
//EINTMASK来使能的,在init_irq()中由于要映射中断处理函数,因此这里单独写出key2,清晰程序。
void init_irq(void)
{
//下面是将key1_3_4和key2函数的地址映射到中断向量表,这样,当中断触发时,就跳到相应函数的地址执
//行该函数。如EINT0中断被触发时,就执行函数key1_3_4。
}
TQ2440按键中 相关文章:
- TQ2440之按键中断(11-21)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)