📄 pf_interrupt_exp.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 + -