?? eint.c
字號:
#include <string.h>
#include "..\Target\44b.h"
#include "..\Target\44blib.h"
#include "eint.h"
void __irq Eint4567Isr(void);
volatile char which_int=0;
void Test_Eint(void)
{
unsigned int save_G,save_PG;
Uart_Printf("\n[External Interrupt Test]\n");
Uart_Printf("Note:Because Keyboard's pressing exist shake,many times\n");
Uart_Printf("of interrupt maybe triggered.\n");
/***Vectored interrupt test***/
rINTCON=0x1;//disable fiq, enable irq
pISR_EINT4567=(int)Eint4567Isr;
// rINTMSK=~(BIT_GLOBAL|BIT_EINT4567);
Uart_Printf("...Select the trigger:\n"
" 1. Falling trigger\n"
" 2. Rising trigger\n"
" 3. Both Edge trigger\n"
" 4. Low level trigger\n"
" 5. High level trigger\n");
save_G=rPCONG;
save_PG=rPUPG;
rPCONG=0xffff; //EINT7~0
rPUPG=0x0; //pull up enable
switch(Uart_Getch())
{
case '1':
rEXTINT=0x22222222; //Falling edge mode
break;
case '2':
rEXTINT=0x44444444; //Rising edge mode
break;
case '3':
rEXTINT=0x77777777; //Both edge mode
break;
case '4':
rEXTINT=0x0; //"0" level mode
break;
case '5':
Uart_Printf("In this board EINT2 and EINT5 are pulled up\n");//rEXTINT=0x11111111; //"1" level mode
which_int=10;
break;
default:
rPCONG=save_G;
rPUPG=save_PG;
return;
}
// Uart_Printf("\nDEMO B/D push buttons may have glitch noise problem.\n");
Uart_Printf("Press the EINT buttons!!!\n");
rINTMSK=~(BIT_GLOBAL|BIT_EINT2|BIT_EINT4567);
while(!which_int);
switch(which_int)
{
case 1:
Uart_Printf("EINT4 had been occured...\n");
break;
case 2:
Uart_Printf("EINT5 had been occured...\n");
break;
case 4:
Uart_Printf("EINT6 had been occured...\n");
break;
case 8:
Uart_Printf("EINT7 had been occured...\n");
break;
case 9:
Uart_Printf("EINT2 had been occured...\n");
break;
default :
Uart_Printf("which_int=%d\n",which_int);
break;
}
rINTMSK=BIT_GLOBAL;
rPCONG=save_G;
rPUPG=save_PG;
which_int=0;
//Uart_Printf("\nrINTCON=0x%x\n",rINTCON);
rINTCON=0x5;
}
void __irq Eint4567Isr(void)
{
which_int=rEXTINTPND;
rEXTINTPND=0x0f; //clear EXTINTPND reg.
rI_ISPC=BIT_EINT4567; //clear pending_bit
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -