⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pf_interrupt_exp.c

📁 FIR IIR 实验的源代码
💻 C
字号:
#include <cdefBF561.h>
#include <ccblkfn.h>
#include <sys/exception.h>

#include "Exp_Config.h"
#include "sys_func.h"
#include "../sys_res.h"

EX_INTERRUPT_HANDLER(FlagA_ISR)
{
	unsigned short pf_data;
	int led = 0x00;
	*pFIO2_FLAG_C=(KEY1|KEY2|KEY3);
	
 	*pFIO2_MASKA_C=(KEY1|KEY2|KEY3);
	*pFIO2_EDGE&=~(KEY1|KEY2|KEY3);
	ssync();
	
	pf_data = *pFIO2_FLAG_D;		//读FIO2_FLAG_D寄存器里的值
	
	if (pf_data & KEY1)
	{
	    led|=(1<<0);
	}
	if (pf_data & KEY2)
	{
	    led|=(1<<1);
	}
	if (pf_data & KEY3)
	{
	    led|=(1<<2);
	}
	SetLED(led);    
	*pFIO2_EDGE|=(KEY1|KEY2|KEY3);
	*pFIO2_MASKA_S=(KEY1|KEY2|KEY3);
	ssync();	
}

void Init_PF_Key(void)
{
	
    *pFIO2_INEN  |= (KEY1|KEY2|KEY3);
	*pFIO2_POLAR |= (KEY1|KEY2|KEY3);
	*pFIO2_DIR   &=~(KEY1|KEY2|KEY3);
	
	*pFIO2_MASKA_S |= (KEY1|KEY2|KEY3);	
	
		
}

void Init_KEY_Interrupt(void)
{
	*pSICB_IMASK1 |= SIC_MASK((51-32));
	register_handler(ik_ivg11,FlagA_ISR);
}

void PFInterrupt_Exp(void)
{
	Init_PF_Key(); 
	Init_KEY_Interrupt();
	while (1){
	    
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -