📄 stm32f10x_tim1.lst
字号:
\ 0000001C 2088 LDRH R0,[R4, #+0]
\ 0000001E 0128 CMP R0,#+1
\ 00000020 08D1 BNE.N ??TIM1_ICInit_2
607 {
608 /* TI2 Configuration */
609 TI2_Config(TIM1_ICInitStruct->TIM1_ICPolarity,
610 TIM1_ICInitStruct->TIM1_ICSelection,
611 TIM1_ICInitStruct->TIM1_ICFilter);
\ 00000022 227A LDRB R2,[R4, #+8]
\ 00000024 A188 LDRH R1,[R4, #+4]
\ 00000026 6088 LDRH R0,[R4, #+2]
\ 00000028 ........ BL TI2_Config
612
613 /* Set the Input Capture Prescaler value */
614 TIM1_SetIC2Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 0000002C E088 LDRH R0,[R4, #+6]
\ 0000002E ........ BL TIM1_SetIC2Prescaler
\ 00000032 13E0 B.N ??TIM1_ICInit_1
615 }
616 else if (TIM1_ICInitStruct->TIM1_Channel == TIM1_Channel_3)
\ ??TIM1_ICInit_2:
\ 00000034 2088 LDRH R0,[R4, #+0]
\ 00000036 0228 CMP R0,#+2
\ 00000038 08D1 BNE.N ??TIM1_ICInit_3
617 {
618 /* TI3 Configuration */
619 TI3_Config(TIM1_ICInitStruct->TIM1_ICPolarity,
620 TIM1_ICInitStruct->TIM1_ICSelection,
621 TIM1_ICInitStruct->TIM1_ICFilter);
\ 0000003A 227A LDRB R2,[R4, #+8]
\ 0000003C A188 LDRH R1,[R4, #+4]
\ 0000003E 6088 LDRH R0,[R4, #+2]
\ 00000040 ........ BL TI3_Config
622
623 /* Set the Input Capture Prescaler value */
624 TIM1_SetIC3Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000044 E088 LDRH R0,[R4, #+6]
\ 00000046 ........ BL TIM1_SetIC3Prescaler
\ 0000004A 07E0 B.N ??TIM1_ICInit_1
625 }
626 else
627 {
628 /* TI4 Configuration */
629 TI4_Config(TIM1_ICInitStruct->TIM1_ICPolarity,
630 TIM1_ICInitStruct->TIM1_ICSelection,
631 TIM1_ICInitStruct->TIM1_ICFilter);
\ ??TIM1_ICInit_3:
\ 0000004C 227A LDRB R2,[R4, #+8]
\ 0000004E A188 LDRH R1,[R4, #+4]
\ 00000050 6088 LDRH R0,[R4, #+2]
\ 00000052 ........ BL TI4_Config
632
633 /* Set the Input Capture Prescaler value */
634 TIM1_SetIC4Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000056 E088 LDRH R0,[R4, #+6]
\ 00000058 ........ BL TIM1_SetIC4Prescaler
635 }
636 }
\ ??TIM1_ICInit_1:
\ 0000005C 10BD POP {R4,PC} ;; return
637
638 /*******************************************************************************
639 * Function Name : TIM1_PWMIConfig
640 * Description : Configures the TIM1 peripheral in PWM Input Mode according
641 * to the specified parameters in the TIM1_ICInitStruct.
642 * Input : - TIM1_ICInitStruct: pointer to a TIM1_ICInitTypeDef structure
643 * that contains the configuration information for the specified
644 * TIM1 peripheral.
645 * Output : None
646 * Return : None
647 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
648 void TIM1_PWMIConfig(TIM1_ICInitTypeDef* TIM1_ICInitStruct)
649 {
\ TIM1_PWMIConfig:
\ 00000000 70B5 PUSH {R4-R6,LR}
\ 00000002 0400 MOVS R4,R0
650 u8 ICPolarity = TIM1_ICPolarity_Rising;
\ 00000004 0020 MOVS R0,#+0
\ 00000006 0500 MOVS R5,R0
651 u8 ICSelection = TIM1_ICSelection_DirectTI;
\ 00000008 0120 MOVS R0,#+1
\ 0000000A 0600 MOVS R6,R0
652
653 /* Check the parameters */
654 assert_param(IS_TIM1_PWMI_CHANNEL(TIM1_ICInitStruct->TIM1_Channel));
655 assert_param(IS_TIM1_IC_POLARITY(TIM1_ICInitStruct->TIM1_ICPolarity));
656 assert_param(IS_TIM1_IC_SELECTION(TIM1_ICInitStruct->TIM1_ICSelection));
657 assert_param(IS_TIM1_IC_PRESCALER(TIM1_ICInitStruct->TIM1_ICPrescaler));
658
659 /* Select the Opposite Input Polarity */
660 if (TIM1_ICInitStruct->TIM1_ICPolarity == TIM1_ICPolarity_Rising)
\ 0000000C 6088 LDRH R0,[R4, #+2]
\ 0000000E 411E SUBS R1,R0,#+1
\ 00000010 8941 SBCS R1,R1,R1
\ 00000012 C90F LSRS R1,R1,#+31
\ 00000014 0D00 MOVS R5,R1
661 {
662 ICPolarity = TIM1_ICPolarity_Falling;
663 }
664 else
665 {
666 ICPolarity = TIM1_ICPolarity_Rising;
667 }
668
669 /* Select the Opposite Input */
670 if (TIM1_ICInitStruct->TIM1_ICSelection == TIM1_ICSelection_DirectTI)
\ 00000016 A088 LDRH R0,[R4, #+4]
\ 00000018 0128 CMP R0,#+1
\ 0000001A 02D1 BNE.N ??TIM1_PWMIConfig_0
671 {
672 ICSelection = TIM1_ICSelection_IndirectTI;
\ 0000001C 0220 MOVS R0,#+2
\ 0000001E 0600 MOVS R6,R0
\ 00000020 01E0 B.N ??TIM1_PWMIConfig_1
673 }
674 else
675 {
676 ICSelection = TIM1_ICSelection_DirectTI;
\ ??TIM1_PWMIConfig_0:
\ 00000022 0120 MOVS R0,#+1
\ 00000024 0600 MOVS R6,R0
677 }
678
679 if (TIM1_ICInitStruct->TIM1_Channel == TIM1_Channel_1)
\ ??TIM1_PWMIConfig_1:
\ 00000026 2088 LDRH R0,[R4, #+0]
\ 00000028 0028 CMP R0,#+0
\ 0000002A 14D1 BNE.N ??TIM1_PWMIConfig_2
680 {
681 /* TI1 Configuration */
682 TI1_Config(TIM1_ICInitStruct->TIM1_ICPolarity, TIM1_ICInitStruct->TIM1_ICSelection,
683 TIM1_ICInitStruct->TIM1_ICFilter);
\ 0000002C 227A LDRB R2,[R4, #+8]
\ 0000002E A188 LDRH R1,[R4, #+4]
\ 00000030 6088 LDRH R0,[R4, #+2]
\ 00000032 ........ BL TI1_Config
684
685 /* Set the Input Capture Prescaler value */
686 TIM1_SetIC1Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000036 E088 LDRH R0,[R4, #+6]
\ 00000038 ........ BL TIM1_SetIC1Prescaler
687
688 /* TI2 Configuration */
689 TI2_Config(ICPolarity, ICSelection, TIM1_ICInitStruct->TIM1_ICFilter);
\ 0000003C 227A LDRB R2,[R4, #+8]
\ 0000003E F6B2 UXTB R6,R6 ;; ZeroExtS R6,R6,#+24,#+24
\ 00000040 3100 MOVS R1,R6
\ 00000042 89B2 UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
\ 00000044 EDB2 UXTB R5,R5 ;; ZeroExtS R5,R5,#+24,#+24
\ 00000046 2800 MOVS R0,R5
\ 00000048 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 0000004A ........ BL TI2_Config
690
691 /* Set the Input Capture Prescaler value */
692 TIM1_SetIC2Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 0000004E E088 LDRH R0,[R4, #+6]
\ 00000050 ........ BL TIM1_SetIC2Prescaler
\ 00000054 13E0 B.N ??TIM1_PWMIConfig_3
693 }
694 else
695 {
696 /* TI2 Configuration */
697 TI2_Config(TIM1_ICInitStruct->TIM1_ICPolarity, TIM1_ICInitStruct->TIM1_ICSelection,
698 TIM1_ICInitStruct->TIM1_ICFilter);
\ ??TIM1_PWMIConfig_2:
\ 00000056 227A LDRB R2,[R4, #+8]
\ 00000058 A188 LDRH R1,[R4, #+4]
\ 0000005A 6088 LDRH R0,[R4, #+2]
\ 0000005C ........ BL TI2_Config
699
700 /* Set the Input Capture Prescaler value */
701 TIM1_SetIC2Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000060 E088 LDRH R0,[R4, #+6]
\ 00000062 ........ BL TIM1_SetIC2Prescaler
702
703 /* TI1 Configuration */
704 TI1_Config(ICPolarity, ICSelection, TIM1_ICInitStruct->TIM1_ICFilter);
\ 00000066 227A LDRB R2,[R4, #+8]
\ 00000068 F6B2 UXTB R6,R6 ;; ZeroExtS R6,R6,#+24,#+24
\ 0000006A 3100 MOVS R1,R6
\ 0000006C 89B2 UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
\ 0000006E EDB2 UXTB R5,R5 ;; ZeroExtS R5,R5,#+24,#+24
\ 00000070 2800 MOVS R0,R5
\ 00000072 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000074 ........ BL TI1_Config
705
706 /* Set the Input Capture Prescaler value */
707 TIM1_SetIC1Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000078 E088 LDRH R0,[R4, #+6]
\ 0000007A ........ BL TIM1_SetIC1Prescaler
708 }
709 }
\ ??TIM1_PWMIConfig_3:
\ 0000007E 70BD POP {R4-R6,PC} ;; return
710 /*******************************************************************************
711 * Function Name : TIM1_OCStructInit
712 * Description : Fills each TIM1_OCInitStruct member with its default value.
713 * Input : - TIM1_OCInitStruct : pointer to a TIM1_OCInitTypeDef structure
714 * which will be initialized.
715 * Output : None
716 * Return : None
717 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
718 void TIM1_OCStructInit(TIM1_OCInitTypeDef* TIM1_OCInitStruct)
719 {
720 /* Set the default configuration */
721 TIM1_OCInitStruct->TIM1_OCMode = TIM1_OCMode_Timing;
\ TIM1_OCStructInit:
\ 00000000 0021 MOVS R1,#+0
\ 00000002 0180 STRH R1,[R0, #+0]
722 TIM1_OCInitStruct->TIM1_OutputState = TIM1_OutputState_Disable;
\ 00000004 0021 MOVS R1,#+0
\ 00000006 4180 STRH R1,[R0, #+2]
723 TIM1_OCInitStruct->TIM1_OutputNState = TIM1_OutputNState_Disable;
\ 00000008 0021 MOVS R1,#+0
\ 0000000A 8180 STRH R1,[R0, #+4]
724 TIM1_OCInitStruct->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -