📄 isr.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -