📄 keyboard16.c
字号:
#include"..\ucos-ii\includes.h" /* uC/OS interface */
#include "..\startup\44b.h"
#include "..\inc\def.h"
#include "..\inc\drv\Keyboard16.h"
#include "..\inc\drv\zlg7289.h"
#include "..\ucos-ii\uhal\isr.h"
U16 FunctionKey=0xffff;//功能键扫描吗,0有效
//U8 keyBoard_KeyMap[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
//U8 keyBoard_KeyMap[]={0,0xF,0xE,4,0xD,0xC,0xB,3,0xA,9,8,1,6,7,5,2};
U8 keyBoard_KeyMap[]={11,15,7,3,14,12,13,10,9,8,6,5,4,2,1,0};
OS_EVENT *Key_MailBox;
void ISR_Key()
{
OSMboxPost(Key_MailBox, (void*)1);
}
void SetFunctionKey(U16 Fnkey) //设定功能键扫描码,1有效 比如ctrl alt
{
FunctionKey&=~Fnkey;
}
void KeyBoard_init()
{
U32 temp;
Zlg7289_Reset();
Key_MailBox=OSMboxCreate(NULL);
temp=rINTMSK;
rINTMSK=BIT_GLOBAL;
rEXTINT|=(2<<16); //外部中断4
SetISR_Interrupt(EINT4567_OFFSET,ISR_Key,EINT4_OFFSET);
rEXTINPND=(1<<EINT4_OFFSET);
rI_ISPC=BIT_EINT4567;
rINTMSK=(~BIT_EINT4567)&temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -