isr.c

来自「这里有很多我自己做的凌阳单片机源程序」· C语言 代码 · 共 40 行

C
40
字号
#include<spce061a_chf.h>
#define startA 0x0031//4096&1
#define stopA 0x0036//0&0停止计数
unsigned int flag=0;//中断计数器
unsigned int num[34]={0};
extern flag1;
void IRQ3(void)__attribute__((ISR));
void IRQ3(void)
{
	*P_TimerA_Ctrl=stopA;		
	num[flag]=*P_TimerA_Data;//读TimerB计数的结果	
	*P_TimerA_Data=0x0000;
	if(*P_INT_Ctrl&0x0100)//是EXIT1中断
	{
		flag++;	
		if(flag<=33)
		{
			*P_TimerA_Ctrl=startA;//TimerA停止计数	
			
		}
		else
		{
			flag=0;
			asm("nop");
			flag1=1;
		}		
		*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 + -
显示快捷键?