📄 drv_key_init.msa
字号:
/*
*********************************************************************************************************
* uC/OS-II
* The Real-Time Kernel
* CORE FUNCTIONS
*
(c) Copyright 1992-2001, Jean J. Labrosse, Weston, FL
* All Rights Reserved
*
* File :
* By :
*********************************************************************************************************
*/
#include "irqmanager.h"
#include "driver.h"
#include "key.h"
public KeyInit
extern KeyISR
extern IRQ_intercept
extern ?BANK_CALL_DIRECT_L08
extern ?BANK_FAST_LEAVE_L08
rseg KEYBank_D
KeyOldIsr defw 0x0000
rseg KEYBank_C
KeyInit:
GPIOBInit:
push de
push bc
push hl
in a,(0efh)
or 0x77
out (0efh),a
KEYBOARDINIT:
ld a,087h
out (0c1h),a
ld de, lwrd KeyISR
ld c, lwrd IRQ_KEY
ld a, byte3 IRQ_intercept
ld hl, lwrd IRQ_intercept
call ?BANK_CALL_DIRECT_L08
ld (lwrd KeyOldIsr), hl
in a,(0x27)
or 0x40
out (0x27),a
pop hl
pop bc
pop de
jp ?BANK_FAST_LEAVE_L08
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -