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

📄 pfkey_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"

/******************************************************************************************
*	函数名        : Init_Flags
*	函数功能      : 配置BF561的PF寄存器
*	说明          : PF各寄存器的介绍请参考ADI公司的
*				  《ADSP-BF561 Blackfin Processor Hardware Reference》
*				  14章节"Programmable Flags"
*******************************************************************************************/
void Init_PF_Key(void)
{
	/*配置按键对应的PF输入使能寄存器,使之引脚输入使能,且不触发中断*/

    *pFIO2_DIR &=~(KEY1|KEY2|KEY3);
   	*pFIO2_EDGE&=~(KEY1|KEY2|KEY3);
   	*pFIO2_POLAR&=~(KEY1|KEY2|KEY3);
   	*pFIO2_MASKA_C=(KEY1|KEY2|KEY3);
   	*pFIO2_MASKB_C=(KEY1|KEY2|KEY3);
   	*pFIO2_INEN|= (KEY1|KEY2|KEY3);
	ssync();
}
/*******************************************************************************************
*	函数名      : PFKey_Exp
*	函数功能    : 轮询按键状态,发生变化改变对应LED状态
*	说明        : 
********************************************************************************************/
void PFKey_Exp(void)
{
 	unsigned short pf_data;
	int led = 0x00;
	Init_PF_Key();   	 	

	led=0;
	while (1){
	    led=0;
		pf_data = *pFIO2_FLAG_D;		//读FIO1_FLAG_D寄存器里的值
		
		if ((pf_data & KEY1)==0)
		{
		    led|=(1<<0);
		}
		if ((pf_data & KEY2)==0)
		{
		    led|=(1<<1);
		}
		if ((pf_data & KEY3)==0)
		{
		    led|=(1<<2);
		}
		SetLED(led);
	}

}

⌨️ 快捷键说明

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