eint.c
来自「我写的针对lpc2141的ucos源码」· C语言 代码 · 共 90 行
C
90 行
#include <LPC214X.h>
#include "type.h"
#include "irq.h"
#include "i2c.h"
#include "zlg7290.h"
#include "delay.h"
uint8 eint0_flag=FALSE;
uint8 eint2_flag=FALSE;
uint8 eint1_flag=FALSE;
void eint0_irq() __irq
{
EXTINT|=0x01; //clear int flag
eint0_flag=TRUE;
// don't use printf() function in ISR!!
//printf("eint2 \n");
//zlg7290_key=i2c_getkey();
VICVectAddr=0x0;
}
void eint0_init()
{
PINSEL1=(~(0X00000003)&PINSEL1)|0x01; //P0.16 as EINT0
//EXTMODE|=0x01; //edge sensitive for EINT2
eint0_flag=FALSE;
install_irq(EINT0_INT,(void *)eint0_irq);
}
void eint1_irq() __irq
{
EXTINT|=0x02; //clear int flag
eint1_flag=TRUE;
// don't use printf() function in ISR!!
//printf("eint2 \n");
//zlg7290_key=i2c_getkey();
VICVectAddr=0x0;
}
void eint1_init()
{
PINSEL0=(~(0X00000003<<28)&PINSEL1)|0x02<<28; //P0.16 as EINT0
//EXTMODE|=0x02; //edge sensitive for EINT2
eint1_flag=FALSE;
install_irq(EINT1_INT,(void *)eint1_irq);
}
void eint2_irq() __irq
{
EXTINT|=0x04; //clear int flag
eint2_flag=TRUE;
// don't use printf() function in ISR!!
//printf("eint2 \n");
//zlg7290_key=i2c_getkey();
VICVectAddr=0x0;
}
void eint2_init()
{
PINSEL0|=0x80000000; //P0.15 as EINT2
//EXTMODE|=0x04; //edge sensitive for EINT2
eint2_flag=FALSE;
install_irq(EINT2_INT,(void *)eint2_irq);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?