📄 button.txt
字号:
AREA ||i.IsKeyDownLeft||, CODE, READONLY, ALIGN=2
IsKeyDownLeft PROC
;;;47 static uint8_t IsKeyDownDown(void) {if (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_3) == Bit_SET) return 0; return 1;}
;;;48 static uint8_t IsKeyDownLeft(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_14) == Bit_SET) return 0; return 1;}
000000 b510 PUSH {r4,lr}
000002 f44f4180 MOV r1,#0x4000
000006 4804 LDR r0,|L5.24|
000008 f7fffffe BL GPIO_ReadInputDataBit
00000c 2801 CMP r0,#1
00000e d101 BNE |L5.20|
000010 2000 MOVS r0,#0
|L5.18|
000012 bd10 POP {r4,pc}
|L5.20|
000014 2001 MOVS r0,#1
000016 e7fc B |L5.18|
;;;49 static uint8_t IsKeyDownRight(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
ENDP
|L5.24|
DCD 0x40012000
AREA ||i.IsKeyDownOk||, CODE, READONLY, ALIGN=2
IsKeyDownOk PROC
;;;49 static uint8_t IsKeyDownRight(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
;;;50 static uint8_t IsKeyDownOk(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_7) == Bit_SET) return 0; return 1;}
000000 b510 PUSH {r4,lr}
000002 2180 MOVS r1,#0x80
000004 4804 LDR r0,|L6.24|
000006 f7fffffe BL GPIO_ReadInputDataBit
00000a 2801 CMP r0,#1
00000c d101 BNE |L6.18|
00000e 2000 MOVS r0,#0
|L6.16|
000010 bd10 POP {r4,pc}
|L6.18|
000012 2001 MOVS r0,#1
000014 e7fc B |L6.16|
;;;51
ENDP
000016 0000 DCW 0x0000
|L6.24|
DCD 0x40012000
AREA ||i.IsKeyDownRight||, CODE, READONLY, ALIGN=2
IsKeyDownRight PROC
;;;48 static uint8_t IsKeyDownLeft(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_14) == Bit_SET) return 0; return 1;}
;;;49 static uint8_t IsKeyDownRight(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
000000 b510 PUSH {r4,lr}
000002 f44f5100 MOV r1,#0x2000
000006 4804 LDR r0,|L7.24|
000008 f7fffffe BL GPIO_ReadInputDataBit
00000c 2801 CMP r0,#1
00000e d101 BNE |L7.20|
000010 2000 MOVS r0,#0
|L7.18|
000012 bd10 POP {r4,pc}
|L7.20|
000014 2001 MOVS r0,#1
000016 e7fc B |L7.18|
;;;50 static uint8_t IsKeyDownOk(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_7) == Bit_SET) return 0; return 1;}
ENDP
|L7.24|
DCD 0x40012000
AREA ||i.IsKeyDownTamper||, CODE, READONLY, ALIGN=2
IsKeyDownTamper PROC
;;;43 static uint8_t IsKeyDownUser(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_8) == Bit_SET) return 0; return 1;}
;;;44 static uint8_t IsKeyDownTamper(void) {if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
000000 b510 PUSH {r4,lr}
000002 f44f5100 MOV r1,#0x2000
000006 4804 LDR r0,|L8.24|
000008 f7fffffe BL GPIO_ReadInputDataBit
00000c 2801 CMP r0,#1
00000e d101 BNE |L8.20|
000010 2000 MOVS r0,#0
|L8.18|
000012 bd10 POP {r4,pc}
|L8.20|
000014 2001 MOVS r0,#1
000016 e7fc B |L8.18|
;;;45 static uint8_t IsKeyDownWakeUp(void) {if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET) return 1; return 0;}
ENDP
|L8.24|
DCD 0x40011000
AREA ||i.IsKeyDownUp||, CODE, READONLY, ALIGN=2
IsKeyDownUp PROC
;;;45 static uint8_t IsKeyDownWakeUp(void) {if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET) return 1; return 0;}
;;;46 static uint8_t IsKeyDownUp(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_15) == Bit_SET) return 0; return 1;}
000000 b510 PUSH {r4,lr}
000002 f44f4100 MOV r1,#0x8000
000006 4804 LDR r0,|L9.24|
000008 f7fffffe BL GPIO_ReadInputDataBit
00000c 2801 CMP r0,#1
00000e d101 BNE |L9.20|
000010 2000 MOVS r0,#0
|L9.18|
000012 bd10 POP {r4,pc}
|L9.20|
000014 2001 MOVS r0,#1
000016 e7fc B |L9.18|
;;;47 static uint8_t IsKeyDownDown(void) {if (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_3) == Bit_SET) return 0; return 1;}
ENDP
|L9.24|
DCD 0x40012000
AREA ||i.IsKeyDownUser||, CODE, READONLY, ALIGN=2
IsKeyDownUser PROC
;;;42 */
;;;43 static uint8_t IsKeyDownUser(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_8) == Bit_SET) return 0; return 1;}
000000 b510 PUSH {r4,lr}
000002 f44f7180 MOV r1,#0x100
000006 4804 LDR r0,|L10.24|
000008 f7fffffe BL GPIO_ReadInputDataBit
00000c 2801 CMP r0,#1
00000e d101 BNE |L10.20|
000010 2000 MOVS r0,#0
|L10.18|
000012 bd10 POP {r4,pc}
|L10.20|
000014 2001 MOVS r0,#1
000016 e7fc B |L10.18|
;;;44 static uint8_t IsKeyDownTamper(void) {if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
ENDP
|L10.24|
DCD 0x40012000
AREA ||i.IsKeyDownWakeUp||, CODE, READONLY, ALIGN=2
IsKeyDownWakeUp PROC
;;;44 static uint8_t IsKeyDownTamper(void) {if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
;;;45 static uint8_t IsKeyDownWakeUp(void) {if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET) return 1; return 0;}
000000 b510 PUSH {r4,lr}
000002 2101 MOVS r1,#1
000004 4803 LDR r0,|L11.20|
000006 f7fffffe BL GPIO_ReadInputDataBit
00000a 2801 CMP r0,#1
00000c d100 BNE |L11.16|
|L11.14|
00000e bd10 POP {r4,pc}
|L11.16|
000010 2000 MOVS r0,#0
000012 e7fc B |L11.14|
;;;46 static uint8_t IsKeyDownUp(void) {if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_15) == Bit_SET) return 0; return 1;}
ENDP
|L11.20|
DCD 0x40010800
AREA ||i.KeyPro||, CODE, READONLY, ALIGN=2
KeyPro PROC
;;;274 */
;;;275 void KeyPro(void)
000000 b510 PUSH {r4,lr}
;;;276 {
;;;277 DetectButton(&s_BtnUser); /* USER 键 */
000002 4810 LDR r0,|L12.68|
000004 f7fffffe BL DetectButton
;;;278 DetectButton(&s_BtnTamper); /* TAMPER 键 */
000008 480e LDR r0,|L12.68|
00000a 3010 ADDS r0,r0,#0x10
00000c f7fffffe BL DetectButton
;;;279 DetectButton(&s_BtnWakeUp); /* WAKEUP 键 */
000010 480c LDR r0,|L12.68|
000012 3020 ADDS r0,r0,#0x20
000014 f7fffffe BL DetectButton
;;;280 DetectButton(&s_BtnUp); /* 摇杆UP键 */
000018 480a LDR r0,|L12.68|
00001a 3030 ADDS r0,r0,#0x30
00001c f7fffffe BL DetectButton
;;;281 DetectButton(&s_BtnDown); /* 摇杆DOWN键 */
000020 4808 LDR r0,|L12.68|
000022 3040 ADDS r0,r0,#0x40
000024 f7fffffe BL DetectButton
;;;282 DetectButton(&s_BtnLeft); /* 摇杆LEFT键 */
000028 4806 LDR r0,|L12.68|
00002a 3050 ADDS r0,r0,#0x50
00002c f7fffffe BL DetectButton
;;;283 DetectButton(&s_BtnRight); /* 摇杆RIGHT键 */
000030 4804 LDR r0,|L12.68|
000032 3060 ADDS r0,r0,#0x60
000034 f7fffffe BL DetectButton
;;;284 DetectButton(&s_BtnOk); /* 摇杆OK键 */
000038 4802 LDR r0,|L12.68|
00003a 3070 ADDS r0,r0,#0x70
00003c f7fffffe BL DetectButton
;;;285 }
000040 bd10 POP {r4,pc}
ENDP
000042 0000 DCW 0x0000
|L12.68|
DCD ||.bss||
AREA ||i.PutKey||, CODE, READONLY, ALIGN=2
PutKey PROC
;;;150 */
;;;151 void PutKey(uint8_t _KeyCode)
000000 4906 LDR r1,|L13.28|
;;;152 {
;;;153 s_Key.Buf[s_Key.Write] = _KeyCode;
000002 7d49 LDRB r1,[r1,#0x15] ; s_Key
000004 4a05 LDR r2,|L13.28|
000006 5450 STRB r0,[r2,r1]
;;;154
;;;155 if (++s_Key.Write >= KEY_FIFO_SIZE)
000008 4611 MOV r1,r2
00000a 7d49 LDRB r1,[r1,#0x15] ; s_Key
00000c 1c49 ADDS r1,r1,#1
00000e b2c9 UXTB r1,r1
000010 7551 STRB r1,[r2,#0x15]
000012 2914 CMP r1,#0x14
000014 db01 BLT |L13.26|
;;;156 {
;;;157 s_Key.Write = 0;
000016 2100 MOVS r1,#0
000018 7551 STRB r1,[r2,#0x15]
|L13.26|
;;;158 }
;;;159 }
00001a 4770 BX lr
;;;160
ENDP
|L13.28|
DCD ||.bss||+0x80
AREA ||.bss||, DATA, NOINIT, ALIGN=2
s_BtnUser
% 16
s_BtnTamper
% 16
s_BtnWakeUp
% 16
s_BtnUp
% 16
s_BtnDown
% 16
s_BtnLeft
% 16
s_BtnRight
% 16
s_BtnOk
% 16
s_Key
% 22
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -