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

📄 bsp.txt

📁 针对STM32F103的UCOS移植
💻 TXT
📖 第 1 页 / 共 3 页
字号:
;;;291                     status = DEF_TRUE;
;;;292                 }
;;;293                 break;
;;;294            case 2:
;;;295                 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_PB_KEY3);
000134  2110              MOVS     r1,#0x10
000136  f7fffffe          BL       GPIO_ReadInputDataBit
;;;296                 if (pin == 0) {
00013a  b900              CBNZ     r0,|L1.318|
;;;297                     status = DEF_TRUE;
00013c  2401              MOVS     r4,#1
                  |L1.318|
;;;298                 }
;;;299                 break;//mod by liur 14:02 2009-3-20
;;;300            default:
;;;301                 break;
;;;302        }
;;;303    
;;;304        return (status);
00013e  4620              MOV      r0,r4
;;;305    }
000140  bd10              POP      {r4,pc}
                  |L1.322|
000142  2108              MOVS     r1,#8                 ;289
000144  f7fffffe          BL       GPIO_ReadInputDataBit
000148  2800              CMP      r0,#0                 ;290
00014a  d1f8              BNE      |L1.318|
00014c  2401              MOVS     r4,#1                 ;291
00014e  e7f6              B        |L1.318|
;;;306    
                          ENDP

                  Joystick_GetStatus PROC
;;;354    CPU_INT32U  Joystick_GetStatus (void)
;;;355    {
000150  b570              PUSH     {r4-r6,lr}
;;;356        CPU_BOOLEAN  pin;
;;;357        CPU_BOOLEAN  status;
;;;358    
;;;359        status = 0;
000152  2400              MOVS     r4,#0
;;;360    
;;;361        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_RIGHT);
000154  4d89              LDR      r5,|L1.892|
000156  f44f5180          MOV      r1,#0x1000
00015a  4628              MOV      r0,r5
00015c  f7fffffe          BL       GPIO_ReadInputDataBit
;;;362        if (pin == 0) {
000160  b900              CBNZ     r0,|L1.356|
;;;363            status |=  JOYSTICK_LEFT;
000162  2404              MOVS     r4,#4
                  |L1.356|
;;;364        }
;;;365    
;;;366        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_LEFT);
000164  f44f5100          MOV      r1,#0x2000
000168  4628              MOV      r0,r5
00016a  f7fffffe          BL       GPIO_ReadInputDataBit
;;;367        if (pin == 0) {
00016e  b908              CBNZ     r0,|L1.372|
;;;368            status |=  JOYSTICK_RIGHT;
000170  f0440408          ORR      r4,r4,#8
                  |L1.372|
;;;369        }
;;;370    
;;;371        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_UP);
000174  f44f4180          MOV      r1,#0x4000
000178  4628              MOV      r0,r5
00017a  f7fffffe          BL       GPIO_ReadInputDataBit
;;;372        if (pin == 0) {
00017e  b908              CBNZ     r0,|L1.388|
;;;373            status |=  JOYSTICK_UP;
000180  f0440401          ORR      r4,r4,#1
                  |L1.388|
;;;374        }
;;;375    
;;;376        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_DOWN);
000184  f44f4100          MOV      r1,#0x8000
000188  4628              MOV      r0,r5
00018a  f7fffffe          BL       GPIO_ReadInputDataBit
;;;377        if (pin == 0) {
00018e  b908              CBNZ     r0,|L1.404|
;;;378            status |=  JOYSTICK_DOWN;
000190  f0440402          ORR      r4,r4,#2
                  |L1.404|
;;;379        }
;;;380    
;;;381        pin    = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_SEL);
000194  f44f6100          MOV      r1,#0x800
000198  4628              MOV      r0,r5
00019a  f7fffffe          BL       GPIO_ReadInputDataBit
;;;382        if (pin == 0) {
00019e  b908              CBNZ     r0,|L1.420|
;;;383            status |=  JOYSTICK_CENTER;
0001a0  f0440410          ORR      r4,r4,#0x10
                  |L1.420|
;;;384        }
;;;385    
;;;386        return (status);
0001a4  4620              MOV      r0,r4
;;;387    }
0001a6  bd70              POP      {r4-r6,pc}
;;;388    
                          ENDP

                  LED_On PROC
;;;430    {
;;;431        switch (led) {
0001a8  4601              MOV      r1,r0
0001aa  4875              LDR      r0,|L1.896|
0001ac  2905              CMP      r1,#5
0001ae  d213              BCS      |L1.472|
0001b0  e8dff001          TBB      [pc,r1]
0001b4  0306090c          DCB      0x03,0x06,0x09,0x0c
0001b8  0f00              DCB      0x0f,0x00
;;;432            case 0:
;;;433                 GPIO_SetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
0001ba  21f0              MOVS     r1,#0xf0
0001bc  f7ffbffe          B.W      GPIO_SetBits
;;;434                 break;
;;;435    
;;;436            case 1:
;;;437                 GPIO_SetBits(GPIOC, GPIOC_LED1);
0001c0  2110              MOVS     r1,#0x10
0001c2  f7ffbffe          B.W      GPIO_SetBits
;;;438                 break;
;;;439    
;;;440            case 2:
;;;441                 GPIO_SetBits(GPIOC, GPIOC_LED2);
0001c6  2120              MOVS     r1,#0x20
0001c8  f7ffbffe          B.W      GPIO_SetBits
;;;442                 break;
;;;443    
;;;444            case 3:
;;;445                 GPIO_SetBits(GPIOC, GPIOC_LED3);
0001cc  2140              MOVS     r1,#0x40
0001ce  f7ffbffe          B.W      GPIO_SetBits
;;;446                 break;
;;;447    
;;;448            case 4:
;;;449                 GPIO_SetBits(GPIOC, GPIOC_LED4);
0001d2  2180              MOVS     r1,#0x80
0001d4  f7ffbffe          B.W      GPIO_SetBits
                  |L1.472|
;;;450                 break;
;;;451    
;;;452            default:
;;;453                 break;
;;;454        }
;;;455    }
0001d8  4770              BX       lr
;;;456    
                          ENDP

                  LED_Off PROC
;;;473    {
;;;474        switch (led) {
0001da  4601              MOV      r1,r0
0001dc  4868              LDR      r0,|L1.896|
0001de  2905              CMP      r1,#5
0001e0  d213              BCS      |L1.522|
0001e2  e8dff001          TBB      [pc,r1]
0001e6  0306090c          DCB      0x03,0x06,0x09,0x0c
0001ea  0f00              DCB      0x0f,0x00
;;;475            case 0:
;;;476                 GPIO_ResetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
0001ec  21f0              MOVS     r1,#0xf0
0001ee  f7ffbffe          B.W      GPIO_ResetBits
;;;477                 break;
;;;478    
;;;479            case 1:
;;;480                 GPIO_ResetBits(GPIOC, GPIOC_LED1);
0001f2  2110              MOVS     r1,#0x10
0001f4  f7ffbffe          B.W      GPIO_ResetBits
;;;481                 break;
;;;482    
;;;483            case 2:
;;;484                 GPIO_ResetBits(GPIOC, GPIOC_LED2);
0001f8  2120              MOVS     r1,#0x20
0001fa  f7ffbffe          B.W      GPIO_ResetBits
;;;485                 break;
;;;486    
;;;487            case 3:
;;;488                 GPIO_ResetBits(GPIOC, GPIOC_LED3);
0001fe  2140              MOVS     r1,#0x40
000200  f7ffbffe          B.W      GPIO_ResetBits
;;;489                 break;
;;;490    
;;;491            case 4:
;;;492                 GPIO_ResetBits(GPIOC, GPIOC_LED4);
000204  2180              MOVS     r1,#0x80
000206  f7ffbffe          B.W      GPIO_ResetBits
                  |L1.522|
;;;493                 break;
;;;494    
;;;495            default:
;;;496                 break;
;;;497        }
;;;498    }
00020a  4770              BX       lr
;;;499    
                          ENDP

                  LED_Toggle PROC
;;;515    void  LED_Toggle (CPU_INT08U led)
;;;516    {
00020c  b570              PUSH     {r4-r6,lr}
00020e  4606              MOV      r6,r0
;;;517        CPU_INT32U  pins;
;;;518    
;;;519    
;;;520        pins = GPIO_ReadOutputData(GPIOC);
000210  4d5b              LDR      r5,|L1.896|
000212  4628              MOV      r0,r5
000214  f7fffffe          BL       GPIO_ReadOutputData
000218  4604              MOV      r4,r0
;;;521    
;;;522        switch (led) {
00021a  2e05              CMP      r6,#5
00021c  d273              BCS      |L1.774|
00021e  e8dff006          TBB      [pc,r6]
000222  03364554          DCB      0x03,0x36,0x45,0x54
000226  6300              DCB      0x63,0x00
;;;523            case 0:
;;;524                 if ((pins & GPIOC_LED1) == 0) {
000228  f0140f10          TST      r4,#0x10
00022c  d104              BNE      |L1.568|
;;;525                     GPIO_SetBits(  GPIOC, GPIOC_LED1);
00022e  2110              MOVS     r1,#0x10
000230  4628              MOV      r0,r5
000232  f7fffffe          BL       GPIO_SetBits
000236  e003              B        |L1.576|
                  |L1.568|
;;;526                 } else {
;;;527                     GPIO_ResetBits(GPIOC, GPIOC_LED1);
000238  2110              MOVS     r1,#0x10
00023a  4628              MOV      r0,r5
00023c  f7fffffe          BL       GPIO_ResetBits
                  |L1.576|
;;;528                 }
;;;529                 if ((pins & GPIOC_LED2) == 0) {
000240  f0140f20          TST      r4,#0x20
000244  d104              BNE      |L1.592|
;;;530                     GPIO_SetBits(  GPIOC, GPIOC_LED2);
000246  2120              MOVS     r1,#0x20
000248  4628              MOV      r0,r5
00024a  f7fffffe          BL       GPIO_SetBits
00024e  e003              B        |L1.600|
                  |L1.592|
;;;531                 } else {
;;;532                     GPIO_ResetBits(GPIOC, GPIOC_LED2);
000250  2120              MOVS     r1,#0x20
000252  4628              MOV      r0,r5
000254  f7fffffe          BL       GPIO_ResetBits
                  |L1.600|
;;;533                 }
;;;534                 if ((pins & GPIOC_LED3) == 0) {
000258  f0140f40          TST      r4,#0x40

⌨️ 快捷键说明

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