📄 keyboard.c
字号:
//*****************************************************************************
// 文件名: keyboard.c
// 功能: 键盘模块驱动
// keyboard_initialize():键盘初始化
// keyboard_ISR1() :INT1中断服务程序,执行键盘扫描功能
//*****************************************************************************
#include <csl.h>
#include <csl_hpi.h>
#include <csl_irq.h>
unsigned short key_num; //全局变量,存放键值,键值与按键的对应关系见keyboard.h
void keyboard_delay(unsigned short delay_time)
{
while(delay_time--);
}
void keyboard_initialize()
{
IRQ_clear(IRQ_EVT_INT1);
IRQ_enable(IRQ_EVT_INT1); //开放INT1
key_num = 0xFFFF;
HPI_RSET(GPIOCR,0xF0); //HD0-HD3为输入,HD4-HD7输出
HPI_RSET(GPIOSR,0x0F); //HD4-HD7输出0
keyboard_delay(0xFFF);
}
interrupt void keyboard_ISR1()
{
unsigned short temp;
//if(key_num == 0xFFFF)
{
temp = HPI_RGET(GPIOSR) + 0xF0 ;
HPI_RSET(GPIOCR,0x0F);
HPI_RSET(GPIOSR,temp);
keyboard_delay(0xFFF);
key_num = HPI_RGET(GPIOSR);
HPI_RSET(GPIOCR,0xF0);
HPI_RSET(GPIOSR,0x0F);
keyboard_delay(0xFFF);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -