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

📄 button.txt

📁 STM32手持式示波器源代码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
                          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 + -