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

📄 bsp.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000038   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
    440                       break;
    441          
    442                  default:
    443                       break;
    444              }
    445          }
   \                     ??LED_On_1:
   \   0000003C   00BD               POP      {PC}             ;; return
    446          
    447          
    448          /*
    449          *********************************************************************************************************
    450          *                                             LED OFF
    451          *
    452          * Description : This function is used to control any or all the LEDs on the board.
    453          *
    454          * Arguments   : led    is the number of the LED to turn OFF
    455          *                      0    indicates that you want ALL the LEDs to be OFF
    456          *                      1    turns OFF user LED on the board
    457          *
    458          * Returns     ; none
    459          *********************************************************************************************************
    460          */
    461          

   \                                 In segment CODE, align 4, keep-with-next
    462          void  LED_Off (CPU_INT08U led)
    463          {
   \                     LED_Off:
   \   00000000   00B5               PUSH     {LR}
   \   00000002   0100               MOVS     R1,R0
    464              switch (led) {
   \   00000004   ....               LDR.N    R0,??DataTable9  ;; 0x40011000
   \   00000006   0429               CMP      R1,#+4
   \   00000008   18D8               BHI.N    ??LED_Off_1
   \   0000000A   DFE801F0           TBB      [PC, R1]
   \                     ??LED_Off_0:
   \   0000000E   03080C10           DC8      +3,+8,+12,+16
   \   00000012   1400               DC8      +20,+0
    465                  case 0:
    466                       GPIO_ResetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
   \                     ??LED_Off_2:
   \   00000014   5FF47071           MOVS     R1,#+960
   \   00000018   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   0000001C   00BD               POP      {PC}
    467                       break;
    468          
    469                  case 1:
    470                       GPIO_ResetBits(GPIOC, GPIOC_LED1);
   \                     ??LED_Off_3:
   \   0000001E   4021               MOVS     R1,#+64
   \   00000020   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   00000024   00BD               POP      {PC}
    471                       break;
    472          
    473                  case 2:
    474                       GPIO_ResetBits(GPIOC, GPIOC_LED2);
   \                     ??LED_Off_4:
   \   00000026   8021               MOVS     R1,#+128
   \   00000028   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   0000002C   00BD               POP      {PC}
    475                       break;
    476          
    477                  case 3:
    478                       GPIO_ResetBits(GPIOC, GPIOC_LED3);
   \                     ??LED_Off_5:
   \   0000002E   810D               LSRS     R1,R0,#+22
   \   00000030   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   00000034   00BD               POP      {PC}
    479                       break;
    480          
    481                  case 4:
    482                       GPIO_ResetBits(GPIOC, GPIOC_LED4);
   \                     ??LED_Off_6:
   \   00000036   410D               LSRS     R1,R0,#+21
   \   00000038   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
    483                       break;
    484          
    485                  default:
    486                       break;
    487              }
    488          }
   \                     ??LED_Off_1:
   \   0000003C   00BD               POP      {PC}             ;; return
    489          
    490          
    491          /*
    492          *********************************************************************************************************
    493          *                                             LED TOGGLE
    494          *
    495          * Description : This function is used to toggle any or all the LEDs on the board.
    496          *
    497          * Arguments   : led    is the number of the LED to control
    498          *                      0    indicates that you want to toggle ALL the LEDs
    499          *                      1    toggles user LED on the board
    500          *
    501          * Returns     ; none
    502          *********************************************************************************************************
    503          */
    504          

   \                                 In segment CODE, align 4, keep-with-next
    505          void  LED_Toggle (CPU_INT08U led)
    506          {
   \                     LED_Toggle:
   \   00000000   70B5               PUSH     {R4-R6,LR}
   \   00000002   0600               MOVS     R6,R0
    507              CPU_INT32U  pins;
    508          
    509          
    510              pins = GPIO_ReadOutputData(GPIOC);
   \   00000004   ....               LDR.N    R4,??DataTable9  ;; 0x40011000
   \   00000006   2000               MOVS     R0,R4
   \   00000008   ........           _BLF     GPIO_ReadOutputData,??GPIO_ReadOutputData??rT
   \   0000000C   0500               MOVS     R5,R0
    511          
    512              switch (led) {
   \   0000000E   042E               CMP      R6,#+4
   \   00000010   62D8               BHI.N    ??LED_Toggle_1
   \   00000012   DFE806F0           TBB      [PC, R6]
   \                     ??LED_Toggle_0:
   \   00000016   03323E4A           DC8      +3,+50,+62,+74
   \   0000001A   5600               DC8      +86,+0
    513                  case 0:
    514                       if ((pins & GPIOC_LED1) == 0) {
   \                     ??LED_Toggle_2:
   \   0000001C   2800               MOVS     R0,R5
   \   0000001E   4006               LSLS     R0,R0,#+25
   \   00000020   04D4               BMI.N    ??LED_Toggle_3
    515                           GPIO_SetBits(  GPIOC, GPIOC_LED1);
   \   00000022   4021               MOVS     R1,#+64
   \   00000024   2000               MOVS     R0,R4
   \   00000026   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
   \   0000002A   03E0               B.N      ??LED_Toggle_4
    516                       } else {
    517                           GPIO_ResetBits(GPIOC, GPIOC_LED1);
   \                     ??LED_Toggle_3:
   \   0000002C   4021               MOVS     R1,#+64
   \   0000002E   2000               MOVS     R0,R4
   \   00000030   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
    518                       }
    519                       if ((pins & GPIOC_LED2) == 0) {
   \                     ??LED_Toggle_4:
   \   00000034   2800               MOVS     R0,R5
   \   00000036   0006               LSLS     R0,R0,#+24
   \   00000038   04D4               BMI.N    ??LED_Toggle_5
    520                           GPIO_SetBits(  GPIOC, GPIOC_LED2);
   \   0000003A   8021               MOVS     R1,#+128
   \   0000003C   2000               MOVS     R0,R4
   \   0000003E   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
   \   00000042   03E0               B.N      ??LED_Toggle_6
    521                       } else {
    522                           GPIO_ResetBits(GPIOC, GPIOC_LED2);
   \                     ??LED_Toggle_5:
   \   00000044   8021               MOVS     R1,#+128
   \   00000046   2000               MOVS     R0,R4
   \   00000048   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
    523                       }
    524                       if ((pins & GPIOC_LED3) == 0) {
   \                     ??LED_Toggle_6:
   \   0000004C   E805               LSLS     R0,R5,#+23
   \   0000004E   04D4               BMI.N    ??LED_Toggle_7
    525                           GPIO_SetBits(  GPIOC, GPIOC_LED3);
   \   00000050   A10D               LSRS     R1,R4,#+22
   \   00000052   2000               MOVS     R0,R4
   \   00000054   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
   \   00000058   03E0               B.N      ??LED_Toggle_8
    526                       } else {
    527                           GPIO_ResetBits(GPIOC, GPIOC_LED3);
   \                     ??LED_Toggle_7:
   \   0000005A   A10D               LSRS     R1,R4,#+22
   \   0000005C   2000               MOVS     R0,R4
   \   0000005E   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
    528                       }
    529                       if ((pins & GPIOC_LED4) == 0) {
   \                     ??LED_Toggle_8:
   \   00000062   A805               LSLS     R0,R5,#+22
   \   00000064   04D4               BMI.N    ??LED_Toggle_9
    530                           GPIO_SetBits(  GPIOC, GPIOC_LED4);
   \   00000066   610D               LSRS     R1,R4,#+21
   \   00000068   2000               MOVS     R0,R4
   \   0000006A   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
   \   0000006E   70BD               POP      {R4-R6,PC}
    531                       } else {
    532                           GPIO_ResetBits(GPIOC, GPIOC_LED4);
   \                     ??LED_Toggle_9:
   \   00000070   610D               LSRS     R1,R4,#+21
   \   00000072   2000               MOVS     R0,R4
   \   00000074   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   00000078   70BD               POP      {R4-R6,PC}
    533                       }
    534                      break;
    535          
    536                  case 1:
    537                       if ((pins & GPIOC_LED1) == 0) {
   \                     ??LED_Toggle_10:
   \   0000007A   6806               LSLS     R0,R5,#+25
   \   0000007C   04D4               BMI.N    ??LED_Toggle_11
    538                           GPIO_SetBits(  GPIOC, GPIOC_LED1);
   \   0000007E   4021               MOVS     R1,#+64
   \   00000080   2000               MOVS     R0,R4
   \   00000082   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
   \   00000086   70BD               POP      {R4-R6,PC}
    539                       } else {
    540                           GPIO_ResetBits(GPIOC, GPIOC_LED1);
   \                     ??LED_Toggle_11:
   \   00000088   4021               MOVS     R1,#+64
   \   0000008A   2000               MOVS     R0,R4
   \   0000008C   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   00000090   70BD               POP      {R4-R6,PC}
    541                       }
    542                      break;
    543          
    544                  case 2:
    545                       if ((pins & GPIOC_LED2) == 0) {
   \                     ??LED_Toggle_12:
   \   00000092   2806               LSLS     R0,R5,#+24
   \   00000094   04D4               BMI.N    ??LED_Toggle_13
    546                           GPIO_SetBits(  GPIOC, GPIOC_LED2);
   \   00000096   8021               MOVS     R1,#+128
   \   00000098   2000               MOVS     R0,R4
   \   0000009A   ........           _BLF     GPIO_SetBits,??GPIO_SetBits??rT
   \   0000009E   70BD               POP      {R4-R6,PC}
    547                       } else {
    548                           GPIO_ResetBits(GPIOC, GPIOC_LED2);
   \                     ??LED_Toggle_13:
   \   000000A0   8021               MOVS     R1,#+128
   \   000000A2   2000               MOVS     R0,R4
   \   000000A4   ........           _BLF     GPIO_ResetBits,??GPIO_ResetBits??rT
   \   000000A8   70BD               POP      {R4-R6,PC}
    549                       }
    550                      break;
    551          
    552                  case 3:
    553                       if ((pins & GPIOC_LED3) == 0) {

⌨️ 快捷键说明

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