📄 stm32f10x_tim1.lst
字号:
\ 00000024 6088 LDRH R0,[R4, #+2]
\ 00000026 ........ BL TI2_Config
617
618 /* Set the Input Capture Prescaler value */
619 TIM1_SetIC2Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 0000002A E088 LDRH R0,[R4, #+6]
\ 0000002C ........ BL TIM1_SetIC2Prescaler
\ 00000030 10BD POP {R4,PC}
620 }
621 else if (TIM1_ICInitStruct->TIM1_Channel == TIM1_Channel_3)
\ ??TIM1_ICInit_1:
\ 00000032 0228 CMP R0,#+2
\ 00000034 227A LDRB R2,[R4, #+8]
\ 00000036 A188 LDRH R1,[R4, #+4]
\ 00000038 6088 LDRH R0,[R4, #+2]
\ 0000003A 05D1 BNE.N ??TIM1_ICInit_2
622 {
623 /* TI3 Configuration */
624 TI3_Config(TIM1_ICInitStruct->TIM1_ICPolarity,
625 TIM1_ICInitStruct->TIM1_ICSelection,
626 TIM1_ICInitStruct->TIM1_ICFilter);
\ 0000003C ........ BL TI3_Config
627
628 /* Set the Input Capture Prescaler value */
629 TIM1_SetIC3Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000040 E088 LDRH R0,[R4, #+6]
\ 00000042 ........ BL TIM1_SetIC3Prescaler
\ 00000046 10BD POP {R4,PC}
630 }
631 else
632 {
633 /* TI4 Configuration */
634 TI4_Config(TIM1_ICInitStruct->TIM1_ICPolarity,
635 TIM1_ICInitStruct->TIM1_ICSelection,
636 TIM1_ICInitStruct->TIM1_ICFilter);
\ ??TIM1_ICInit_2:
\ 00000048 ........ BL TI4_Config
637
638 /* Set the Input Capture Prescaler value */
639 TIM1_SetIC4Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 0000004C E088 LDRH R0,[R4, #+6]
\ 0000004E ........ BL TIM1_SetIC4Prescaler
640 }
641 }
\ 00000052 10BD POP {R4,PC} ;; return
642
643 /*******************************************************************************
644 * Function Name : TIM1_PWMIConfig
645 * Description : Configures the TIM1 peripheral in PWM Input Mode according
646 * to the specified parameters in the TIM1_ICInitStruct.
647 * Input : - TIM1_ICInitStruct: pointer to a TIM1_ICInitTypeDef structure
648 * that contains the configuration information for the specified
649 * TIM1 peripheral.
650 * Output : None
651 * Return : None
652 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
653 void TIM1_PWMIConfig(TIM1_ICInitTypeDef* TIM1_ICInitStruct)
654 {
\ TIM1_PWMIConfig:
\ 00000000 70B5 PUSH {R4-R6,LR}
\ 00000002 0400 MOVS R4,R0
655 u8 ICPolarity = TIM1_ICPolarity_Rising;
656 u8 ICSelection = TIM1_ICSelection_DirectTI;
657
658 /* Check the parameters */
659 assert(IS_TIM1_PWMI_CHANNEL(TIM1_ICInitStruct->TIM1_Channel));
660 assert(IS_TIM1_IC_POLARITY(TIM1_ICInitStruct->TIM1_ICPolarity));
661 assert(IS_TIM1_IC_SELECTION(TIM1_ICInitStruct->TIM1_ICSelection));
662 assert(IS_TIM1_IC_PRESCALER(TIM1_ICInitStruct->TIM1_ICPrescaler));
663
664 /* Select the Opposite Input Polarity */
665 if (TIM1_ICInitStruct->TIM1_ICPolarity == TIM1_ICPolarity_Rising)
\ 00000004 0125 MOVS R5,#+1
\ 00000006 6088 LDRH R0,[R4, #+2]
\ 00000008 0028 CMP R0,#+0
\ 0000000A 01D1 BNE.N ??TIM1_PWMIConfig_0
666 {
667 ICPolarity = TIM1_ICPolarity_Falling;
\ 0000000C 2E00 MOVS R6,R5
\ 0000000E 00E0 B.N ??TIM1_PWMIConfig_1
668 }
669 else
670 {
671 ICPolarity = TIM1_ICPolarity_Rising;
\ ??TIM1_PWMIConfig_0:
\ 00000010 0026 MOVS R6,#+0
672 }
673
674 /* Select the Opposite Input */
675 if (TIM1_ICInitStruct->TIM1_ICSelection == TIM1_ICSelection_DirectTI)
\ ??TIM1_PWMIConfig_1:
\ 00000012 A088 LDRH R0,[R4, #+4]
\ 00000014 0128 CMP R0,#+1
\ 00000016 00D1 BNE.N ??TIM1_PWMIConfig_2
676 {
677 ICSelection = TIM1_ICSelection_IndirectTI;
\ 00000018 0225 MOVS R5,#+2
678 }
679 else
680 {
681 ICSelection = TIM1_ICSelection_DirectTI;
682 }
683
684 if (TIM1_ICInitStruct->TIM1_Channel == TIM1_Channel_1)
\ ??TIM1_PWMIConfig_2:
\ 0000001A 2088 LDRH R0,[R4, #+0]
\ 0000001C 0028 CMP R0,#+0
\ 0000001E 227A LDRB R2,[R4, #+8]
\ 00000020 A188 LDRH R1,[R4, #+4]
\ 00000022 6088 LDRH R0,[R4, #+2]
\ 00000024 0DD1 BNE.N ??TIM1_PWMIConfig_3
685 {
686 /* TI1 Configuration */
687 TI1_Config(TIM1_ICInitStruct->TIM1_ICPolarity, TIM1_ICInitStruct->TIM1_ICSelection,
688 TIM1_ICInitStruct->TIM1_ICFilter);
\ 00000026 ........ BL TI1_Config
689
690 /* Set the Input Capture Prescaler value */
691 TIM1_SetIC1Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 0000002A E088 LDRH R0,[R4, #+6]
\ 0000002C ........ BL TIM1_SetIC1Prescaler
692
693 /* TI2 Configuration */
694 TI2_Config(ICPolarity, ICSelection, TIM1_ICInitStruct->TIM1_ICFilter);
\ 00000030 227A LDRB R2,[R4, #+8]
\ 00000032 2900 MOVS R1,R5
\ 00000034 3000 MOVS R0,R6
\ 00000036 ........ BL TI2_Config
695
696 /* Set the Input Capture Prescaler value */
697 TIM1_SetIC2Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 0000003A E088 LDRH R0,[R4, #+6]
\ 0000003C ........ BL TIM1_SetIC2Prescaler
\ 00000040 70BD POP {R4-R6,PC}
698 }
699 else
700 {
701 /* TI2 Configuration */
702 TI2_Config(TIM1_ICInitStruct->TIM1_ICPolarity, TIM1_ICInitStruct->TIM1_ICSelection,
703 TIM1_ICInitStruct->TIM1_ICFilter);
\ ??TIM1_PWMIConfig_3:
\ 00000042 ........ BL TI2_Config
704
705 /* Set the Input Capture Prescaler value */
706 TIM1_SetIC2Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000046 E088 LDRH R0,[R4, #+6]
\ 00000048 ........ BL TIM1_SetIC2Prescaler
707
708 /* TI1 Configuration */
709 TI1_Config(ICPolarity, ICSelection, TIM1_ICInitStruct->TIM1_ICFilter);
\ 0000004C 227A LDRB R2,[R4, #+8]
\ 0000004E 2900 MOVS R1,R5
\ 00000050 3000 MOVS R0,R6
\ 00000052 ........ BL TI1_Config
710
711 /* Set the Input Capture Prescaler value */
712 TIM1_SetIC1Prescaler(TIM1_ICInitStruct->TIM1_ICPrescaler);
\ 00000056 E088 LDRH R0,[R4, #+6]
\ 00000058 ........ BL TIM1_SetIC1Prescaler
713 }
714 }
\ 0000005C 70BD POP {R4-R6,PC} ;; return
715 /*******************************************************************************
716 * Function Name : TIM1_OCStructInit
717 * Description : Fills each TIM1_OCInitStruct member with its default value.
718 * Input : - TIM1_OCInitStruct : pointer to a TIM1_OCInitTypeDef structure
719 * which will be initialized.
720 * Output : None
721 * Return : None
722 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
723 void TIM1_OCStructInit(TIM1_OCInitTypeDef* TIM1_OCInitStruct)
724 {
725 /* Set the default configuration */
726 TIM1_OCInitStruct->TIM1_OCMode = TIM1_OCMode_Timing;
\ TIM1_OCStructInit:
\ 00000000 0021 MOVS R1,#+0
\ 00000002 0180 STRH R1,[R0, #+0]
727 TIM1_OCInitStruct->TIM1_OutputState = TIM1_OutputState_Disable;
\ 00000004 4180 STRH R1,[R0, #+2]
728 TIM1_OCInitStruct->TIM1_OutputNState = TIM1_OutputNState_Disable;
\ 00000006 8180 STRH R1,[R0, #+4]
729 TIM1_OCInitStruct->TIM1_Pulse = TIM1_Pulse_Reset_Mask;
\ 00000008 C180 STRH R1,[R0, #+6]
730 TIM1_OCInitStruct->TIM1_OCPolarity = TIM1_OCPolarity_High;
\ 0000000A 0181 STRH R1,[R0, #+8]
731 TIM1_OCInitStruct->TIM1_OCNPolarity = TIM1_OCPolarity_High;
\ 0000000C 4181 STRH R1,[R0, #+10]
732 TIM1_OCInitStruct->TIM1_OCIdleState = TIM1_OCIdleState_Reset;
\ 0000000E 8181 STRH R1,[R0, #+12]
733 TIM1_OCInitStruct->TIM1_OCNIdleState = TIM1_OCNIdleState_Reset;
\ 00000010 C181 STRH R1,[R0, #+14]
734 }
\ 00000012 7047 BX LR ;; return
735
736 /*******************************************************************************
737 * Function Name : TIM1_ICStructInit
738 * Description : Fills each TIM1_ICInitStruct member with its default value.
739 * Input : - TIM1_ICInitStruct : pointer to a TIM1_ICInitTypeDef structure
740 * which will be initialized.
741 * Output : None
742 * Return : None
743 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
744 void TIM1_ICStructInit(TIM1_ICInitTypeDef* TIM1_ICInitStruct)
745 {
746 /* Set the default configuration */
747 TIM1_ICInitStruct->TIM1_Channel = TIM1_Channel_1;
\ TIM1_ICStructInit:
\ 00000000 0021 MOVS R1,#+0
\ 00000002 0180 STRH R1,[R0, #+0]
748 TIM1_ICInitStruct->TIM1_ICSelection = TIM1_ICSelection_DirectTI;
\ 00000004 0122 MOVS R2,#+1
\ 00000006 8280
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -