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

📄 bsp_button.txt

📁 stm32-SDIO+FatFS文件系统txt-int-ascii
💻 TXT
📖 第 1 页 / 共 4 页
字号:
; generated by ARM C/C++ Compiler, 4.1 [Build 561]
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Flash\Obj\bsp_button.o --depend=.\Flash\Obj\bsp_button.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=870 -I..\..\Libraries\CMSIS\CM3\CoreSupport -I..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x -I..\..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\..\User\bsp -I..\..\User\fatfs -I..\..\User -IC:\Keil\ARM\INC -IC:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB -DSTM32F10X_HD -DUSE_STDPERIPH_DRIVER ..\..\User\bsp\bsp_button.c]
                          THUMB

                          AREA ||i.IsKeyDownDown||, CODE, READONLY, ALIGN=2

                  IsKeyDownDown PROC
;;;63     static uint8_t IsKeyDownUp(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_15) == Bit_SET) return 0; return 1;}
;;;64     static uint8_t IsKeyDownDown(void) 		{if (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_3) == Bit_SET) return 0; return 1;}
000000  b510              PUSH     {r4,lr}
000002  2108              MOVS     r1,#8
000004  4804              LDR      r0,|L1.24|
000006  f7fffffe          BL       GPIO_ReadInputDataBit
00000a  2801              CMP      r0,#1
00000c  d101              BNE      |L1.18|
00000e  2000              MOVS     r0,#0
                  |L1.16|
000010  bd10              POP      {r4,pc}
                  |L1.18|
000012  2001              MOVS     r0,#1
000014  e7fc              B        |L1.16|
;;;65     static uint8_t IsKeyDownLeft(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_14) == Bit_SET) return 0; return 1;}
                          ENDP

000016  0000              DCW      0x0000
                  |L1.24|
                          DCD      0x40011400

                          AREA ||i.IsKeyDownLeft||, CODE, READONLY, ALIGN=2

                  IsKeyDownLeft PROC
;;;64     static uint8_t IsKeyDownDown(void) 		{if (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_3) == Bit_SET) return 0; return 1;}
;;;65     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,|L2.24|
000008  f7fffffe          BL       GPIO_ReadInputDataBit
00000c  2801              CMP      r0,#1
00000e  d101              BNE      |L2.20|
000010  2000              MOVS     r0,#0
                  |L2.18|
000012  bd10              POP      {r4,pc}
                  |L2.20|
000014  2001              MOVS     r0,#1
000016  e7fc              B        |L2.18|
;;;66     static uint8_t IsKeyDownRight(void) 	{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
                          ENDP

                  |L2.24|
                          DCD      0x40012000

                          AREA ||i.IsKeyDownOk||, CODE, READONLY, ALIGN=2

                  IsKeyDownOk PROC
;;;66     static uint8_t IsKeyDownRight(void) 	{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
;;;67     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,|L3.24|
000006  f7fffffe          BL       GPIO_ReadInputDataBit
00000a  2801              CMP      r0,#1
00000c  d101              BNE      |L3.18|
00000e  2000              MOVS     r0,#0
                  |L3.16|
000010  bd10              POP      {r4,pc}
                  |L3.18|
000012  2001              MOVS     r0,#1
000014  e7fc              B        |L3.16|
;;;68     static uint8_t IsKeyDownUserTamper(void) {if (IsKeyDownUser() && IsKeyDownTamper()) return 1; return 0;}	/* 组合键 */
                          ENDP

000016  0000              DCW      0x0000
                  |L3.24|
                          DCD      0x40012000

                          AREA ||i.IsKeyDownRight||, CODE, READONLY, ALIGN=2

                  IsKeyDownRight PROC
;;;65     static uint8_t IsKeyDownLeft(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_14) == Bit_SET) return 0; return 1;}
;;;66     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,|L4.24|
000008  f7fffffe          BL       GPIO_ReadInputDataBit
00000c  2801              CMP      r0,#1
00000e  d101              BNE      |L4.20|
000010  2000              MOVS     r0,#0
                  |L4.18|
000012  bd10              POP      {r4,pc}
                  |L4.20|
000014  2001              MOVS     r0,#1
000016  e7fc              B        |L4.18|
;;;67     static uint8_t IsKeyDownOk(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_7) == Bit_SET) return 0; return 1;}
                          ENDP

                  |L4.24|
                          DCD      0x40012000

                          AREA ||i.IsKeyDownTamper||, CODE, READONLY, ALIGN=2

                  IsKeyDownTamper PROC
;;;60     static uint8_t IsKeyDownUser(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_8) == Bit_SET) return 0; return 1;}
;;;61     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,|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|
;;;62     static uint8_t IsKeyDownWakeUp(void) 	{if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET) return 1; return 0;}
                          ENDP

                  |L5.24|
                          DCD      0x40011000

                          AREA ||i.IsKeyDownUp||, CODE, READONLY, ALIGN=2

                  IsKeyDownUp PROC
;;;62     static uint8_t IsKeyDownWakeUp(void) 	{if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET) return 1; return 0;}
;;;63     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,|L6.24|
000008  f7fffffe          BL       GPIO_ReadInputDataBit
00000c  2801              CMP      r0,#1
00000e  d101              BNE      |L6.20|
000010  2000              MOVS     r0,#0
                  |L6.18|
000012  bd10              POP      {r4,pc}
                  |L6.20|
000014  2001              MOVS     r0,#1
000016  e7fc              B        |L6.18|
;;;64     static uint8_t IsKeyDownDown(void) 		{if (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_3) == Bit_SET) return 0; return 1;}
                          ENDP

                  |L6.24|
                          DCD      0x40012000

                          AREA ||i.IsKeyDownUser||, CODE, READONLY, ALIGN=2

                  IsKeyDownUser PROC
;;;59     */
;;;60     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,|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|
;;;61     static uint8_t IsKeyDownTamper(void) 	{if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
                          ENDP

                  |L7.24|
                          DCD      0x40012000

                          AREA ||i.IsKeyDownUserTamper||, CODE, READONLY, ALIGN=1

                  IsKeyDownUserTamper PROC
;;;67     static uint8_t IsKeyDownOk(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_7) == Bit_SET) return 0; return 1;}
;;;68     static uint8_t IsKeyDownUserTamper(void) {if (IsKeyDownUser() && IsKeyDownTamper()) return 1; return 0;}	/* 组合键 */
000000  b510              PUSH     {r4,lr}
000002  f7fffffe          BL       IsKeyDownUser
000006  b120              CBZ      r0,|L8.18|
000008  f7fffffe          BL       IsKeyDownTamper
00000c  b108              CBZ      r0,|L8.18|
00000e  2001              MOVS     r0,#1
                  |L8.16|
000010  bd10              POP      {r4,pc}
                  |L8.18|
000012  2000              MOVS     r0,#0
000014  e7fc              B        |L8.16|
;;;69     
                          ENDP


                          AREA ||i.IsKeyDownWakeUp||, CODE, READONLY, ALIGN=2

                  IsKeyDownWakeUp PROC
;;;61     static uint8_t IsKeyDownTamper(void) 	{if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET) return 0; return 1;}
;;;62     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,|L9.20|
000006  f7fffffe          BL       GPIO_ReadInputDataBit
00000a  2801              CMP      r0,#1
00000c  d100              BNE      |L9.16|
                  |L9.14|
00000e  bd10              POP      {r4,pc}
                  |L9.16|
000010  2000              MOVS     r0,#0
000012  e7fc              B        |L9.14|
;;;63     static uint8_t IsKeyDownUp(void) 		{if (GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_15) == Bit_SET) return 0; return 1;}
                          ENDP

                  |L9.20|
                          DCD      0x40010800

                          AREA ||i.bsp_DetectButton||, CODE, READONLY, ALIGN=1

                  bsp_DetectButton PROC
;;;358    */
;;;359    static void bsp_DetectButton(BUTTON_T *_pBtn)
000000  b510              PUSH     {r4,lr}
;;;360    {
000002  4604              MOV      r4,r0
;;;361    	/* 如果没有初始化按键函数,则报错
;;;362    	if (_pBtn->IsKeyDownFunc == 0)
;;;363    	{
;;;364    		printf("Fault : DetectButton(), _pBtn->IsKeyDownFunc undefine");
;;;365    	}
;;;366    	*/
;;;367    
;;;368    	if (_pBtn->IsKeyDownFunc())
000004  6820              LDR      r0,[r4,#0]
000006  4780              BLX      r0
000008  2800              CMP      r0,#0
00000a  d03b              BEQ      |L10.132|
;;;369    	{
;;;370    		if (_pBtn->Count < _pBtn->FilterTime)
00000c  7920              LDRB     r0,[r4,#4]
00000e  7961              LDRB     r1,[r4,#5]
000010  4288              CMP      r0,r1
000012  da02              BGE      |L10.26|
;;;371    		{
;;;372    			_pBtn->Count = _pBtn->FilterTime;
000014  7960              LDRB     r0,[r4,#5]
000016  7120              STRB     r0,[r4,#4]
000018  e04f              B        |L10.186|
                  |L10.26|
;;;373    		}
;;;374    		else if(_pBtn->Count < 2 * _pBtn->FilterTime)
00001a  7920              LDRB     r0,[r4,#4]
00001c  7961              LDRB     r1,[r4,#5]
00001e  0049              LSLS     r1,r1,#1
000020  4288              CMP      r0,r1
000022  da03              BGE      |L10.44|
;;;375    		{
;;;376    			_pBtn->Count++;
000024  7920              LDRB     r0,[r4,#4]
000026  1c40              ADDS     r0,r0,#1
000028  7120              STRB     r0,[r4,#4]
00002a  e046              B        |L10.186|
                  |L10.44|
;;;377    		}
;;;378    		else
;;;379    		{
;;;380    			if (_pBtn->State == 0)
00002c  7aa0              LDRB     r0,[r4,#0xa]
00002e  b938              CBNZ     r0,|L10.64|
;;;381    			{
;;;382    				_pBtn->State = 1;
000030  2001              MOVS     r0,#1
000032  72a0              STRB     r0,[r4,#0xa]
;;;383    
;;;384    				/* 发送按钮按下的消息 */
;;;385    				if (_pBtn->KeyCodeDown > 0)
000034  7b20              LDRB     r0,[r4,#0xc]
000036  2800              CMP      r0,#0
000038  dd02              BLE      |L10.64|
;;;386    				{
;;;387    					/* 键值放入按键FIFO */
;;;388    					bsp_PutKey(_pBtn->KeyCodeDown);
00003a  7b20              LDRB     r0,[r4,#0xc]
00003c  f7fffffe          BL       bsp_PutKey
                  |L10.64|
;;;389    				}
;;;390    			}
;;;391    
;;;392    			if (_pBtn->LongTime > 0)
000040  8920              LDRH     r0,[r4,#8]
000042  2800              CMP      r0,#0
000044  dd39              BLE      |L10.186|
;;;393    			{
;;;394    				if (_pBtn->LongCount < _pBtn->LongTime)
000046  88e0              LDRH     r0,[r4,#6]
000048  8921              LDRH     r1,[r4,#8]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -