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

📄 keyboard.c.bak

📁 2410bios 实现简单功能 裸板传输 跑马灯 定时器
💻 BAK
字号:
#include "def.h"
#include "2410addr.h"
#include "2410lib.h"
#include "2410slib.h"
#include "mmu.h"
#include "uart.h"
#include "timer.h"
#include "39vf160.h"
#include "LCD.h"
#include "PowerManage.h"

void initkeyboard()
{
	rGPFCON&=0xffcc;
	rGPFCON|=0x0022;
	rGPGCON&=0xff3fff3f;
	rGPGCON|=0x00800080;
	rGPECON&=0xf77fffff;
	rGPECON|=0x04400000;
	rGPGCON&=~((1<<12)|(1<<4));
	rGPGCON|=((1<<12)|(1<<4));
	rGPEDAT=rGPEDAT&0xd7ff;
	rGPGDAT=rGPGDAT&0xffbb;
	rGPEUP=0;
	rGPFUP=0;
	rGPGUP=0;
}

void initextint()
{
	rEXTINT0&=~0x606;
	rEXTINT0|=0x202;
	rEXTINT1&=~0x6000;
	rEXTINT1|=(0x1<<13);
	rEXTINT2&=~0x6000;
  rEXTINT2|=(0x1<<13);
}

void openmask()
{
	EnableIrq(BIT_EINT0|BIT_EINT2|BIT_EINT8_23);
	rEINTMASK&=~((0x1<<11)|(0x1<<19));
}
void __irq serveint0()
{
	ClearPending(BIT_EINT0);
	printf("the key is int0\n");
	
}

void __irq serveint2()
{
	ClearPending(BIT_EINT2);
	printf("the key is int2\n");
	
}

void __irq serveint119()
{
	ClearPending(BIT_EINT8_23);
	if((rEINTPEND>>11)==1)
	{
	rEINTPEND|=(0x1<<11);
	printf("the key is int11\n");
	} 
	if((rEINTPEND>>19)==1)
	{
	rEINTPEND|=(0x1<<19);
	printf("the key is int19\n");
	}
	
}

void login()
{
	pISR_EINT0=(U32)serveint0;
	pISR_EINT2=(U32)serveint2;
	pISR_EINT8_23=(U32)serveint119;
}

⌨️ 快捷键说明

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