📄 int.c
字号:
#include <stdio.h>
#include <string.h>
#include "option.h"
#include "2460addr.h"
#include "2460lib.h"
#include "2460slib.h"
volatile int fiqCnt0, fiqCnt1;
static void __irq T0Int(void) //FIQ
{
ClearPending(BIT_TIMER0);
fiqCnt0 += 1;
}
//--------------------------------------------------------------------
static void __irq T1Int(void) //IRQ
{
ClearPending(BIT_TIMER1);
fiqCnt1 += 1;
if(fiqCnt0!=fiqCnt1)
fiqCnt1 = 0;
if(fiqCnt0==10000)
rTCON = 0x0;
}
//**********************[ Test_Fiq ]**********************************
void Test_Fiq(void)
{
int intmod;
printf("[ FIQ Interrupt Test ]\n");
fiqCnt0 = 0;
fiqCnt1 = 0;
pISR_FIQ = (unsigned int)T0Int;
pISR_TIMER1 = (unsigned int)T1Int;
intmod = rINTMOD;
rINTMOD = BIT_TIMER0;
rSRCPND = BIT_TIMER0 | BIT_TIMER1;
rINTPND = BIT_TIMER0 | BIT_TIMER1;
rTCFG0 = 0x0;
rTCFG1 = 0x0;
rTCNTB0 = 2570;
rTCNTB1 = 2570;
rTCON = 0xa0a;
rTCON = 0x909;
rINTMSK = ~(BIT_TIMER0 | BIT_TIMER1);
while(fiqCnt1<10000)
{
if((fiqCnt1%100)==0)
printf(".");
}
rTCON = 0x0;
Delay(1);
printf("\nfiqCnt0 = %d, fiqCnt1 = %d (10000,10000)\n",fiqCnt0,fiqCnt1);
rINTMOD = intmod;
rINTMSK = BIT_ALLMSK;
}
//***************[ Change_IntPriorities ]*************************
void Change_IntPriorities(void)
{
int key;
printf("[ Interrupt Controller Priority Policy ]\n\n");
printf("1. Reverse Priority 2. Priority Rotate Off 3. Default\n\n");
printf("Select : ");
key = getchar();
printf("%c\n\n",key);
switch(key)
{
case '1':
printf("Reverse priority is selected.\n");
rPRIORITY_MODE = 0x9000000;
printf("rPRIORITY_MODE=%x\n",rPRIORITY_MODE);
break;
case '2':
printf("Priority rotate off is selected.\n");
rPRIORITY_MODE = 0x0;
rPRIORITY_UPDATE = 0x0; //Arbiter 0 to 6 group priority does not rotate
printf("rPRIORITY_MODE=%x\n",rPRIORITY_MODE);
break;
case '3':
printf("Default mode is selected.\n");
rPRIORITY_MODE = 0x0;
rPRIORITY_UPDATE = 0x7f; //Arbiter 0 to 6 group priority rotate enable
printf("rPRIORITY_MODE=%x\n",rPRIORITY_MODE);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -