📄 isr.c
字号:
//*******************************************************************//
//Interrupt Service Routine For C language
//*******************************************************************//
#include "SPCE061V004.H"
extern float ADconver(void);
unsigned long int max;
extern unsigned data[500],maxdata[16];
unsigned int ii=0,jj=0,qq=0,isrflag=0,i,j;
void BREAK(void) __attribute__ ((ISR));
void BREAK(void)
{
}
void FIQ(void) __attribute__ ((ISR));
void FIQ(void)
{
}
void IRQ0(void) __attribute__ ((ISR));
void IRQ0(void)
{
}
void IRQ1(void) __attribute__ ((ISR));
void IRQ1(void)
{
}
void IRQ2(void) __attribute__ ((ISR));
void IRQ2(void)
{
}
void IRQ3(void) __attribute__ ((ISR));
void IRQ3(void)
{
}
void IRQ4(void) __attribute__ ((ISR));
void IRQ4(void)
{
if(*P_INT_Ctrl&C_IRQ4_1KHz)
{
data[ii]=ADconver();
ii++;
if(ii==500)
{
maxdata[jj]=data[0];
for(i=1;i<500;i++)
{
if(data[i]>max)
maxdata[jj]=data[i];
}
ii=0;jj++;
}
if(jj==16)
{
isrflag=1;jj=0;
for(qq=0;qq<16;qq++)
{
max+=maxdata[qq];
*P_Watchdog_Clear=1;
}
max>>=4;
}
*P_INT_Clear=C_IRQ4_1KHz;
}
if(*P_INT_Ctrl&C_IRQ4_2KHz)
{
*P_INT_Clear=C_IRQ4_2KHz;
}
if(*P_INT_Ctrl&C_IRQ4_4KHz)
{
*P_INT_Clear=C_IRQ4_4KHz;
}
}
void IRQ5(void) __attribute__ ((ISR));
void IRQ5(void)
{
}
void IRQ6(void) __attribute__ ((ISR));
void IRQ6(void)
{
}
void IRQ7(void) __attribute__ ((ISR));
void IRQ7(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -