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

📄 stm32f10x_tim.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 5 页
字号:
    259                if (TIM_OCInitStruct->TIM_Channel == TIM_Channel_3)
   \   0000007A   2A46               MOV      R2,R5
   \   0000007C   022A               CMP      R2,#+2
   \   0000007E   028C               LDRH     R2,[R0, #+32]
   \   00000080   0CD1               BNE.N    ??TIM_OCInit_7
    260                {
    261                  /* Disable the Channel 3: Reset the CCE Bit */
    262                  TIMx->CCER &= CCER_CC3E_Reset;
   \   00000082   ....               LDR.N    R5,??DataTable2  ;; 0xfeff
   \   00000084   1540               ANDS     R5,R5,R2
   \   00000086   0584               STRH     R5,[R0, #+32]
    263          
    264                  /* Select the Output Compare Mode */
    265                  tmpccmrx |= TIM_OCInitStruct->TIM_OCMode;
   \   00000088   0D88               LDRH     R5,[R1, #+0]
   \   0000008A   2543               ORRS     R5,R5,R4
    266          
    267                  /* Set the Capture Compare Register value */
    268                  TIMx->CCR3 = TIM_OCInitStruct->TIM_Pulse;
   \   0000008C   8A88               LDRH     R2,[R1, #+4]
   \   0000008E   8287               STRH     R2,[R0, #+60]
    269          
    270                  /* Set the Capture Compare Enable Bit */
    271                  tmpccer |= CCER_CC3E_Set;
    272          
    273                  /* Set the Capture Compare Polarity */
    274                  tmpccer |= (u32)TIM_OCInitStruct->TIM_OCPolarity << 8;
   \   00000090   C988               LDRH     R1,[R1, #+6]
   \   00000092   0902               LSLS     R1,R1,#+8
   \   00000094   51F48072           ORRS     R2,R1,#0x100
   \   00000098   1A43               ORRS     R2,R2,R3
   \   0000009A   0DE0               B.N      ??TIM_OCInit_8
    275                }
    276                else  /* TIM_Channel_4 */
    277                {
    278                  /* Disable the Channel 4: Reset the CCE Bit */
    279                  TIMx->CCER &= CCER_CC4E_Reset;
   \                     ??TIM_OCInit_7:
   \   0000009C   ....               LDR.N    R5,??DataTable3  ;; 0xefff
   \   0000009E   1540               ANDS     R5,R5,R2
   \   000000A0   0584               STRH     R5,[R0, #+32]
    280          
    281                 /* Select the Output Compare Mode */
    282                  tmpccmrx |= (u32)TIM_OCInitStruct->TIM_OCMode << 8;
   \   000000A2   0A88               LDRH     R2,[R1, #+0]
   \   000000A4   54EA0225           ORRS     R5,R4,R2, LSL #+8
    283          
    284                  /* Set the Capture Compare Register value */
    285                  TIMx->CCR4 = TIM_OCInitStruct->TIM_Pulse;
   \   000000A8   8A88               LDRH     R2,[R1, #+4]
   \   000000AA   A0F84020           STRH     R2,[R0, #+64]
    286          
    287                  /* Set the Capture Compare Enable Bit */
    288                  tmpccer |= CCER_CC4E_Set;
    289          
    290                  /* Set the Capture Compare Polarity */
    291                  tmpccer |= (u32)TIM_OCInitStruct->TIM_OCPolarity << 12;
   \   000000AE   C988               LDRH     R1,[R1, #+6]
   \   000000B0   0903               LSLS     R1,R1,#+12
   \   000000B2   51F48052           ORRS     R2,R1,#0x1000
   \   000000B6   1A43               ORRS     R2,R2,R3
    292                }
    293          
    294                TIMx->CCMR2 = (u16)tmpccmrx;
   \                     ??TIM_OCInit_8:
   \   000000B8   8583               STRH     R5,[R0, #+28]
    295              }
    296            }
    297            
    298            TIMx->CCER = (u16)tmpccer;
   \                     ??TIM_OCInit_5:
   \   000000BA   0284               STRH     R2,[R0, #+32]
    299          }
   \   000000BC   30BD               POP      {R4,R5,PC}       ;; return
   \   000000BE   00BF               Nop      
   \                     ??TIM_OCInit_0:
   \   000000C0   ........           DC32     Tab_OCModeMask
    300          
    301          /*******************************************************************************
    302          * Function Name  : TIM_ICInit
    303          * Description    : Initializes the TIMx peripheral according to the specified
    304          *                  parameters in the TIM_ICInitStruct.
    305          * Input          : - TIMx: where x can be 2, 3 or 4 to select the TIM peripheral.
    306          *                  - TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure
    307          *                    that contains the configuration information for the specified
    308          *                    TIM peripheral.
    309          * Output         : None
    310          * Return         : None
    311          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    312          void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)
    313          {
   \                     TIM_ICInit:
   \   00000000   30B5               PUSH     {R4,R5,LR}
   \   00000002   0400               MOVS     R4,R0
   \   00000004   0D00               MOVS     R5,R1
    314            /* Check the parameters */
    315            assert(IS_TIM_IC_MODE(TIM_ICInitStruct->TIM_ICMode));
    316            assert(IS_TIM_CHANNEL(TIM_ICInitStruct->TIM_Channel));
    317            assert(IS_TIM_IC_POLARITY(TIM_ICInitStruct->TIM_ICPolarity));
    318            assert(IS_TIM_IC_SELECTION(TIM_ICInitStruct->TIM_ICSelection));
    319            assert(IS_TIM_IC_PRESCALER(TIM_ICInitStruct->TIM_ICPrescaler));
    320            assert(IS_TIM_IC_FILTER(TIM_ICInitStruct->TIM_ICFilter));
    321            
    322            if (TIM_ICInitStruct->TIM_ICMode == TIM_ICMode_ICAP)
   \   00000006   2888               LDRH     R0,[R5, #+0]
   \   00000008   0728               CMP      R0,#+7
   \   0000000A   2FD1               BNE.N    ??TIM_ICInit_0
    323            {
    324              if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_1)
   \   0000000C   6888               LDRH     R0,[R5, #+2]
   \   0000000E   0028               CMP      R0,#+0
   \   00000010   0AD1               BNE.N    ??TIM_ICInit_1
    325              {
    326                /* TI1 Configuration */
    327                TI1_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    328                           TIM_ICInitStruct->TIM_ICSelection,
    329                           TIM_ICInitStruct->TIM_ICFilter);
   \   00000012   AB7A               LDRB     R3,[R5, #+10]
   \   00000014   EA88               LDRH     R2,[R5, #+6]
   \   00000016   A988               LDRH     R1,[R5, #+4]
   \   00000018   2000               MOVS     R0,R4
   \   0000001A   ........           BL       TI1_Config
    330          
    331                /* Set the Input Capture Prescaler value */
    332                TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
   \   0000001E   2989               LDRH     R1,[R5, #+8]
   \   00000020   2000               MOVS     R0,R4
   \   00000022   ........           BL       TIM_SetIC1Prescaler
   \   00000026   30BD               POP      {R4,R5,PC}
    333              }
    334              else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_2)
   \                     ??TIM_ICInit_1:
   \   00000028   0128               CMP      R0,#+1
   \   0000002A   0AD1               BNE.N    ??TIM_ICInit_2
    335              {
    336                /* TI2 Configuration */
    337                TI2_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    338                           TIM_ICInitStruct->TIM_ICSelection,
    339                           TIM_ICInitStruct->TIM_ICFilter);
   \   0000002C   AB7A               LDRB     R3,[R5, #+10]
   \   0000002E   EA88               LDRH     R2,[R5, #+6]
   \   00000030   A988               LDRH     R1,[R5, #+4]
   \   00000032   2000               MOVS     R0,R4
   \   00000034   ........           BL       TI2_Config
    340          
    341                /* Set the Input Capture Prescaler value */
    342                TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
   \   00000038   2989               LDRH     R1,[R5, #+8]
   \   0000003A   2000               MOVS     R0,R4
   \   0000003C   ........           BL       TIM_SetIC2Prescaler
   \   00000040   30BD               POP      {R4,R5,PC}
    343              }
    344              else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_3)
   \                     ??TIM_ICInit_2:
   \   00000042   0228               CMP      R0,#+2
   \   00000044   AB7A               LDRB     R3,[R5, #+10]
   \   00000046   EA88               LDRH     R2,[R5, #+6]
   \   00000048   A988               LDRH     R1,[R5, #+4]
   \   0000004A   07D1               BNE.N    ??TIM_ICInit_3
    345              {
    346                /* TI3 Configuration */
    347                TI3_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    348                           TIM_ICInitStruct->TIM_ICSelection,
    349                           TIM_ICInitStruct->TIM_ICFilter);
   \   0000004C   2000               MOVS     R0,R4
   \   0000004E   ........           BL       TI3_Config
    350          
    351                /* Set the Input Capture Prescaler value */
    352                TIM_SetIC3Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
   \   00000052   2989               LDRH     R1,[R5, #+8]
   \   00000054   2000               MOVS     R0,R4
   \   00000056   ........           BL       TIM_SetIC3Prescaler
   \   0000005A   30BD               POP      {R4,R5,PC}
    353              }
    354              else /* TIM_Channel_4 */
    355              {
    356                /* TI4 Configuration */
    357                TI4_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    358                           TIM_ICInitStruct->TIM_ICSelection,
    359                           TIM_ICInitStruct->TIM_ICFilter);
   \                     ??TIM_ICInit_3:
   \   0000005C   2000               MOVS     R0,R4
   \   0000005E   ........           BL       TI4_Config
    360          
    361                /* Set the Input Capture Prescaler value */
    362                TIM_SetIC4Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
   \   00000062   2989               LDRH     R1,[R5, #+8]
   \   00000064   2000               MOVS     R0,R4
   \   00000066   ........           BL       TIM_SetIC4Prescaler
   \   0000006A   30BD               POP      {R4,R5,PC}
    363              }
    364            }
    365            else
    366            {
    367              PWMI_Config(TIMx, TIM_ICInitStruct);
   \                     ??TIM_ICInit_0:
   \   0000006C   2000               MOVS     R0,R4
   \   0000006E   ........           BL       PWMI_Config
    368            }
    369          }
   \   00000072   30BD               POP      {R4,R5,PC}       ;; return
    370          
    371          /*******************************************************************************
    372          * Function Name  : TIM_TimeBaseStructInit
    373          * Description    : Fills each TIM_TimeBaseInitStruct member with its default value.
    374          * Input          : - TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef
    375          *                    structure which will be initialized.
    376          * Output         : None
    377          * Return         : None
    378          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    379          void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
    380          {
    381            /* Set the default configuration */
    382            TIM_TimeBaseInitStruct->TIM_Period = TIM_Period_Reset_Mask;
   \                     TIM_TimeBaseStructInit:
   \   00000000   0021               MOVS     R1,#+0
   \   00000002   0180               STRH     R1,[R0, #+0]
    383            TIM_TimeBaseInitStruct->TIM_Prescaler = TIM_Prescaler_Reset_Mask;

⌨️ 快捷键说明

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