isr.c
来自「这里有很多我自己做的凌阳单片机源程序」· C语言 代码 · 共 42 行
C
42 行
#include<spce061a_chf.h>
#include"jiema_user.h"
int flag=0;//中断计数器
extern num[34];
void IRQ3(void)__attribute__((ISR));
void IRQ3(void)
{
if(*P_INT_Ctrl&0x0100)//是EXIT1中断
{
*P_TimerA_Ctrl=stopA;
num[flag]=*P_TimerA_Data;//读TimerA计数的结果
if((1100<num[1])&(num[1]<1200))//认为是接收到连发代码,则舍弃,进行下次解码
{
flag=0;
*P_INT_Clear=0x0100;//清中断0
}
flag++;
if(flag<=33)
{
*P_TimerA_Data=start_dataA;
*P_TimerA_Ctrl=startA;//TimerA停止计数
}
else
{
//flag=0;
asm("nop");
}
*P_INT_Clear=0x0100;//清中断0
}
else if(*P_INT_Ctrl&0400)//EXIT2中断
{
*P_INT_Clear=0x0400;
}
else
{
*P_INT_Clear=0x0080;//触键唤醒中断
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?