📄 bsp.lst
字号:
\ 00000032 06E0 B.N ??BSP_PB_GetStatus_3
429 }
430 break;
431
432 case BSP_PB_ID_TAMPER:
433 pin = GPIO_ReadInputDataBit(GPIOC, BSP_GPIOC_PB_TAMPER);
\ ??BSP_PB_GetStatus_2:
\ 00000034 6903 LSLS R1,R5,#+13
\ 00000036 .... LDR.N R0,??DataTable14 ;; 0x40011000
\ 00000038 ........ _BLF GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
434 if (pin == 0) {
\ 0000003C 0028 CMP R0,#+0
\ 0000003E 00D1 BNE.N ??BSP_PB_GetStatus_3
435 status = DEF_TRUE;
\ 00000040 2C00 MOVS R4,R5
436 }
437 break;
438
439 default:
440 break;
441 }
442
443 return (status);
\ ??BSP_PB_GetStatus_3:
\ 00000042 2000 MOVS R0,R4
\ 00000044 30BD POP {R4,R5,PC} ;; return
\ 00000046 00BF Nop
\ ??BSP_PB_GetStatus_4:
\ 00000048 00080140 DC32 0x40010800
444 }
445
446 /*
447 *********************************************************************************************************
448 *********************************************************************************************************
449 * JOYSTICK FUNCTIONS
450 *********************************************************************************************************
451 *********************************************************************************************************
452 */
453
454 /*
455 *********************************************************************************************************
456 * BSP_Joystick_Init()
457 *
458 * Description : Initialize the board's joystick.
459 *
460 * Argument(s) : none.
461 *
462 * Return(s) : none.
463 *
464 * Caller(s) : BSP_Init().
465 *
466 * Note(s) : none.
467 *********************************************************************************************************
468 */
469
\ In segment CODE, align 4, keep-with-next
470 static void BSP_Joystick_Init (void)
471 {
\ BSP_Joystick_Init:
\ 00000000 11B5 PUSH {R0,R4,LR}
472 GPIO_InitTypeDef gpio_init;
473
474
475 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
\ 00000002 0121 MOVS R1,#+1
\ 00000004 6020 MOVS R0,#+96
\ 00000006 ........ _BLF RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
476
477 /* Configure JOY_UP, JOY_SEL, JOY_LEFT, JOY_RIGHT */
478 gpio_init.GPIO_Pin = BSP_GPIOG_JOY_UP | BSP_GPIOG_JOY_SEL | BSP_GPIOG_JOY_LEFT | BSP_GPIOG_JOY_RIGHT;
\ 0000000A 0A48 LDR.N R0,??BSP_Joystick_Init_0 ;; 0xe080
\ 0000000C ADF80000 STRH R0,[SP, #+0]
479 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
\ 00000010 0424 MOVS R4,#+4
\ 00000012 8DF80340 STRB R4,[SP, #+3]
480 GPIO_Init(GPIOG, &gpio_init);
\ 00000016 6946 MOV R1,SP
\ 00000018 .... LDR.N R0,??DataTable21 ;; 0x40012000
\ 0000001A ........ _BLF GPIO_Init,??GPIO_Init??rT
481
482 /* Configure JOY_DOWN. */
483 gpio_init.GPIO_Pin = BSP_GPIOD_JOY_DOWN;
\ 0000001E 0820 MOVS R0,#+8
\ 00000020 ADF80000 STRH R0,[SP, #+0]
484 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
\ 00000024 8DF80340 STRB R4,[SP, #+3]
485 GPIO_Init(GPIOD, &gpio_init);
\ 00000028 6946 MOV R1,SP
\ 0000002A .... LDR.N R0,??DataTable22 ;; 0x40011400
\ 0000002C ........ _BLF GPIO_Init,??GPIO_Init??rT
486 }
\ 00000030 11BD POP {R0,R4,PC} ;; return
\ 00000032 00BF Nop
\ ??BSP_Joystick_Init_0:
\ 00000034 80E00000 DC32 0xe080
487
488 /*
489 *********************************************************************************************************
490 * BSP_Joystick_GetStatus()
491 *
492 * Description : Get the status of the joystick on the board.
493 *
494 * Argument(s) : none.
495 *
496 * Return(s) : Bit-mapped status of joystick :
497 *
498 * BSP_JOYSTICK_CENTER if the joystick is being pressed.
499 * BSP_JOYSTICK_LEFT if the joystick is toggled left.
500 * BSP_JOYSTICK_RIGHT if the joystick is toggled right.
501 * BSP_JOYSTICK_UP if the joystick is toggled up.
502 * BSP_JOYSTICK_DOWN if the joystick is toggled down.
503 *
504 * Caller(s) : Application.
505 *
506 * Note(s) : none.
507 *********************************************************************************************************
508 */
509
\ In segment CODE, align 4, keep-with-next
510 CPU_INT32U BSP_Joystick_GetStatus (void)
511 {
\ BSP_Joystick_GetStatus:
\ 00000000 30B5 PUSH {R4,R5,LR}
512 CPU_BOOLEAN pin;
513 CPU_BOOLEAN status;
514
515 status = 0;
\ 00000002 0025 MOVS R5,#+0
516
517 pin = GPIO_ReadInputDataBit(GPIOG, BSP_GPIOG_JOY_RIGHT);
\ 00000004 .... LDR.N R4,??DataTable21 ;; 0x40012000
\ 00000006 610C LSRS R1,R4,#+17
\ 00000008 2000 MOVS R0,R4
\ 0000000A ........ _BLF GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
518 if (pin == 0) {
\ 0000000E 0028 CMP R0,#+0
\ 00000010 00D1 BNE.N ??BSP_Joystick_GetStatus_0
519 status |= BSP_JOYSTICK_LEFT;
\ 00000012 0425 MOVS R5,#+4
520 }
521
522 pin = GPIO_ReadInputDataBit(GPIOG, BSP_GPIOG_JOY_LEFT);
\ ??BSP_Joystick_GetStatus_0:
\ 00000014 5FF48041 MOVS R1,#+16384
\ 00000018 2000 MOVS R0,R4
\ 0000001A ........ _BLF GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
523 if (pin == 0) {
\ 0000001E 0028 CMP R0,#+0
\ 00000020 01D1 BNE.N ??BSP_Joystick_GetStatus_1
524 status |= BSP_JOYSTICK_RIGHT;
\ 00000022 55F00805 ORRS R5,R5,#0x8
525 }
526
527 pin = GPIO_ReadInputDataBit(GPIOG, BSP_GPIOG_JOY_UP);
\ ??BSP_Joystick_GetStatus_1:
\ 00000026 5FF40041 MOVS R1,#+32768
\ 0000002A 2000 MOVS R0,R4
\ 0000002C ........ _BLF GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
528 if (pin == 0) {
\ 00000030 0028 CMP R0,#+0
\ 00000032 02D1 BNE.N ??BSP_Joystick_GetStatus_2
529 status |= BSP_JOYSTICK_UP;
\ 00000034 55F00105 ORRS R5,R5,#0x1
\ 00000038 EDB2 UXTB R5,R5
530 }
531
532 pin = GPIO_ReadInputDataBit(GPIOD, BSP_GPIOD_JOY_DOWN);
\ ??BSP_Joystick_GetStatus_2:
\ 0000003A 0821 MOVS R1,#+8
\ 0000003C .... LDR.N R0,??DataTable22 ;; 0x40011400
\ 0000003E ........ _BLF GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
533 if (pin == 0) {
\ 00000042 0028 CMP R0,#+0
\ 00000044 02D1 BNE.N ??BSP_Joystick_GetStatus_3
534 status |= BSP_JOYSTICK_DOWN;
\ 00000046 55F00205 ORRS R5,R5,#0x2
\ 0000004A EDB2 UXTB R5,R5
535 }
536
537 pin = GPIO_ReadInputDataBit(GPIOG, BSP_GPIOG_JOY_SEL);
\ ??BSP_Joystick_GetStatus_3:
\ 0000004C 8021 MOVS R1,#+128
\ 0000004E 2000 MOVS R0,R4
\ 00000050 ........ _BLF GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
538 if (pin == 0) {
\ 00000054 0028 CMP R0,#+0
\ 00000056 02D1 BNE.N ??BSP_Joystick_GetStatus_4
539 status |= BSP_JOYSTICK_CENTER;
\ 00000058 55F01005 ORRS R5,R5,#0x10
\ 0000005C EDB2 UXTB R5,R5
540 }
541
542 return (status);
\ ??BSP_Joystick_GetStatus_4:
\ 0000005E 2800 MOVS R0,R5
\ 00000060 30BD POP {R4,R5,PC} ;; return
543 }
544
545 /*
546 *********************************************************************************************************
547 *********************************************************************************************************
548 * LED FUNCTIONS
549 *********************************************************************************************************
550 *********************************************************************************************************
551 */
552
553 /*
554 *********************************************************************************************************
555 * BSP_LED_Init()
556 *
557 * Description : Initialize the I/O for the LEDs
558 *
559 * Argument(s) : none.
560 *
561 * Return(s) : none.
562 *
563 * Caller(s) : BSP_Init().
564 *
565 * Note(s) : none.
566 *********************************************************************************************************
567 */
568
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -