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

📄 bsp.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 3 页
字号:
000140  d106              BNE      |L1.336|
;;;283            case 1:
;;;284                 pin = GPIO_ReadInputDataBit(GPIOB, GPIOB_PB_KEY);
000142  f44ff44f          MOV      r1,#0x200
000146  4896              LDR      r0,|L1.928|
000148  f7fff7ff          BL       GPIO_ReadInputDataBit
;;;285                 if (pin == 0) {
00014c  b900              CBNZ     r0,|L1.336|
;;;286                     status = DEF_TRUE;
00014e  2401              MOVS     r4,#1
                  |L1.336|
;;;287                 }
;;;288                 break;
;;;289    
;;;290            default:
;;;291                 break;
;;;292        }
;;;293    
;;;294        return (status);
000150  4620              MOV      r0,r4
;;;295    }
000152  bd10              POP      {r4,pc}
;;;296    
                          ENDP

                  Joystick_GetStatus PROC
;;;344    CPU_INT32U  Joystick_GetStatus (void)
;;;345    {
000154  b570              PUSH     {r4-r6,lr}
;;;346        CPU_BOOLEAN  pin;
;;;347        CPU_BOOLEAN  status;
;;;348    
;;;349        status = 0;
000156  2400              MOVS     r4,#0
;;;350    
;;;351        pin    = GPIO_ReadInputDataBit(GPIOE, GPIOE_JOY_RIGHT);
000158  4d90              LDR      r5,|L1.924|
00015a  2102              MOVS     r1,#2
00015c  4628              MOV      r0,r5
00015e  f7fff7ff          BL       GPIO_ReadInputDataBit
;;;352        if (pin == 0) {
000162  b900              CBNZ     r0,|L1.358|
;;;353            status |=  JOYSTICK_LEFT;
000164  2404              MOVS     r4,#4
                  |L1.358|
;;;354        }
;;;355    
;;;356        pin    = GPIO_ReadInputDataBit(GPIOE, GPIOE_JOY_LEFT);
000166  2101              MOVS     r1,#1
000168  4628              MOV      r0,r5
00016a  f7fff7ff          BL       GPIO_ReadInputDataBit
;;;357        if (pin == 0) {
00016e  b908              CBNZ     r0,|L1.372|
;;;358            status |=  JOYSTICK_RIGHT;
000170  f044f044          ORR      r4,r4,#8
                  |L1.372|
;;;359        }
;;;360    
;;;361        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_UP);
000174  4d88              LDR      r5,|L1.920|
000176  f44ff44f          MOV      r1,#0x100
00017a  4628              MOV      r0,r5
00017c  f7fff7ff          BL       GPIO_ReadInputDataBit
;;;362        if (pin == 0) {
000180  b908              CBNZ     r0,|L1.390|
;;;363            status |=  JOYSTICK_UP;
000182  f044f044          ORR      r4,r4,#1
                  |L1.390|
;;;364        }
;;;365    
;;;366        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_DOWN);
000186  f44ff44f          MOV      r1,#0x4000
00018a  4628              MOV      r0,r5
00018c  f7fff7ff          BL       GPIO_ReadInputDataBit
;;;367        if (pin == 0) {
000190  b908              CBNZ     r0,|L1.406|
;;;368            status |=  JOYSTICK_DOWN;
000192  f044f044          ORR      r4,r4,#2
                  |L1.406|
;;;369        }
;;;370    
;;;371        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_SEL);
000196  f44ff44f          MOV      r1,#0x1000
00019a  4628              MOV      r0,r5
00019c  f7fff7ff          BL       GPIO_ReadInputDataBit
;;;372        if (pin == 0) {
0001a0  b908              CBNZ     r0,|L1.422|
;;;373            status |=  JOYSTICK_CENTER;
0001a2  f044f044          ORR      r4,r4,#0x10
                  |L1.422|
;;;374        }
;;;375    
;;;376        return (status);
0001a6  4620              MOV      r0,r4
;;;377    }
0001a8  bd70              POP      {r4-r6,pc}
;;;378    
                          ENDP

                  LED_On PROC
;;;420    {
;;;421        switch (led) {
0001aa  4601              MOV      r1,r0
0001ac  487d              LDR      r0,|L1.932|
0001ae  2905              CMP      r1,#5
0001b0  d216              BCS      |L1.480|
0001b2  e8dfe8df          TBB      [pc,r1]
0001b6  03070a0d          DCB      0x03,0x07,0x0a,0x0d
0001ba  1100              DCB      0x11,0x00
;;;422            case 0:
;;;423                 GPIO_SetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
0001bc  f44ff44f          MOV      r1,#0x3c0
0001c0  f7fff7ff          B.W      GPIO_SetBits
;;;424                 break;
;;;425    
;;;426            case 1:
;;;427                 GPIO_SetBits(GPIOC, GPIOC_LED1);
0001c4  2140              MOVS     r1,#0x40
0001c6  f7fff7ff          B.W      GPIO_SetBits
;;;428                 break;
;;;429    
;;;430            case 2:
;;;431                 GPIO_SetBits(GPIOC, GPIOC_LED2);
0001ca  2180              MOVS     r1,#0x80
0001cc  f7fff7ff          B.W      GPIO_SetBits
;;;432                 break;
;;;433    
;;;434            case 3:
;;;435                 GPIO_SetBits(GPIOC, GPIOC_LED3);
0001d0  f44ff44f          MOV      r1,#0x100
0001d4  f7fff7ff          B.W      GPIO_SetBits
;;;436                 break;
;;;437    
;;;438            case 4:
;;;439                 GPIO_SetBits(GPIOC, GPIOC_LED4);
0001d8  f44ff44f          MOV      r1,#0x200
0001dc  f7fff7ff          B.W      GPIO_SetBits
                  |L1.480|
;;;440                 break;
;;;441    
;;;442            default:
;;;443                 break;
;;;444        }
;;;445    }
0001e0  4770              BX       lr
;;;446    
                          ENDP

                  LED_Off PROC
;;;463    {
;;;464        switch (led) {
0001e2  4601              MOV      r1,r0
0001e4  486f              LDR      r0,|L1.932|
0001e6  2905              CMP      r1,#5
0001e8  d216              BCS      |L1.536|
0001ea  e8dfe8df          TBB      [pc,r1]
0001ee  03070a0d          DCB      0x03,0x07,0x0a,0x0d
0001f2  1100              DCB      0x11,0x00
;;;465            case 0:
;;;466                 GPIO_ResetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
0001f4  f44ff44f          MOV      r1,#0x3c0
0001f8  f7fff7ff          B.W      GPIO_ResetBits
;;;467                 break;
;;;468    
;;;469            case 1:
;;;470                 GPIO_ResetBits(GPIOC, GPIOC_LED1);
0001fc  2140              MOVS     r1,#0x40
0001fe  f7fff7ff          B.W      GPIO_ResetBits
;;;471                 break;
;;;472    
;;;473            case 2:
;;;474                 GPIO_ResetBits(GPIOC, GPIOC_LED2);
000202  2180              MOVS     r1,#0x80
000204  f7fff7ff          B.W      GPIO_ResetBits
;;;475                 break;
;;;476    
;;;477            case 3:
;;;478                 GPIO_ResetBits(GPIOC, GPIOC_LED3);
000208  f44ff44f          MOV      r1,#0x100
00020c  f7fff7ff          B.W      GPIO_ResetBits
;;;479                 break;
;;;480    
;;;481            case 4:
;;;482                 GPIO_ResetBits(GPIOC, GPIOC_LED4);
000210  f44ff44f          MOV      r1,#0x200
000214  f7fff7ff          B.W      GPIO_ResetBits
                  |L1.536|
;;;483                 break;
;;;484    
;;;485            default:
;;;486                 break;
;;;487        }
;;;488    }
000218  4770              BX       lr
;;;489    
                          ENDP

                  LED_Toggle PROC
;;;505    void  LED_Toggle (CPU_INT08U led)
;;;506    {
00021a  b570              PUSH     {r4-r6,lr}
00021c  4606              MOV      r6,r0
;;;507        CPU_INT32U  pins;
;;;508    
;;;509    
;;;510        pins = GPIO_ReadOutputData(GPIOC);
00021e  4d61              LDR      r5,|L1.932|
000220  4628              MOV      r0,r5
000222  f7fff7ff          BL       GPIO_ReadOutputData
000226  4604              MOV      r4,r0
;;;511    
;;;512        switch (led) {
000228  2e05              CMP      r6,#5
00022a  d27b              BCS      |L1.804|
00022c  e8dfe8df          TBB      [pc,r6]
000230  033a4958          DCB      0x03,0x3a,0x49,0x58
000234  6900              DCB      0x69,0x00
;;;513            case 0:
;;;514                 if ((pins & GPIOC_LED1) == 0) {
000236  f014f014          TST      r4,#0x40
00023a  d104              BNE      |L1.582|
;;;515                     GPIO_SetBits(  GPIOC, GPIOC_LED1);
00023c  2140              MOVS     r1,#0x40
00023e  4628              MOV      r0,r5
000240  f7fff7ff          BL       GPIO_SetBits
000244  e003              B        |L1.590|
                  |L1.582|
;;;516                 } else {
;;;517                     GPIO_ResetBits(GPIOC, GPIOC_LED1);
000246  2140              MOVS     r1,#0x40
000248  4628              MOV      r0,r5
00024a  f7fff7ff          BL       GPIO_ResetBits
                  |L1.590|
;;;518                 }
;;;519                 if ((pins & GPIOC_LED2) == 0) {
00024e  f014f014          TST      r4,#0x80
000252  d104              BNE      |L1.606|
;;;520                     GPIO_SetBits(  GPIOC, GPIOC_LED2);
000254  2180              MOVS     r1,#0x80
000256  4628              MOV      r0,r5
000258  f7fff7ff          BL       GPIO_SetBits
00025c  e003              B        |L1.614|
                  |L1.606|
;;;521                 } else {
;;;522                     GPIO_ResetBits(GPIOC, GPIOC_LED2);
00025e  2180              MOVS     r1,#0x80
000260  4628              MOV      r0,r5
000262  f7fff7ff          BL       GPIO_ResetBits
                  |L1.614|
;;;523                 }
;;;524                 if ((pins & GPIOC_LED3) == 0) {
000266  f414f414          TST      r4,#0x100
00026a  d105              BNE      |L1.632|
;;;525                     GPIO_SetBits(  GPIOC, GPIOC_LED3);
00026c  f44ff44f          MOV      r1,#0x100
000270  4628              MOV      r0,r5

⌨️ 快捷键说明

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