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

📄 stm32f10x_tim.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
    198              
    199              /* Reset the Output Compare Bits */
    200              tmpccmrx &= Tab_OCModeMask[TIM_OCInitStruct->TIM_Channel];
    201          
    202              /* Set the Output Polarity level */
    203              tmpccer &= Tab_PolarityMask[TIM_OCInitStruct->TIM_Channel];
    204          
    205              if (TIM_OCInitStruct->TIM_Channel == TIM_Channel_1)
    206              {
    207                /* Disable the Channel 1: Reset the CCE Bit */
    208                TIMx->CCER &= CCER_CC1E_Reset;
    209          
    210                /* Select the Output Compare Mode */
    211                tmpccmrx |= TIM_OCInitStruct->TIM_OCMode;
    212          
    213                /* Set the Capture Compare Register value */
    214                TIMx->CCR1 = TIM_OCInitStruct->TIM_Pulse;
    215          
    216                /* Set the Capture Compare Enable Bit */
    217                tmpccer |= CCER_CC1E_Set;
    218          
    219                /* Set the Capture Compare Polarity */
    220                tmpccer |= TIM_OCInitStruct->TIM_OCPolarity;
    221              }
    222              else /* TIM_Channel_2 */
    223              {
    224                /* Disable the Channel 2: Reset the CCE Bit */
    225                TIMx->CCER &= CCER_CC2E_Reset;
    226          
    227                /* Select the Output Compare Mode */
    228                tmpccmrx |= (u32)TIM_OCInitStruct->TIM_OCMode << 8;
    229          
    230                /* Set the Capture Compare Register value */
    231                TIMx->CCR2 = TIM_OCInitStruct->TIM_Pulse;
    232          
    233                /* Set the Capture Compare Enable Bit */
    234                tmpccer |= CCER_CC2E_Set;
    235          
    236                /* Set the Capture Compare Polarity */
    237                tmpccer |= (u32)TIM_OCInitStruct->TIM_OCPolarity << 4;
    238              }
    239          
    240              TIMx->CCMR1 = (u16)tmpccmrx;
    241            }
    242            else 
    243            {
    244              if ((TIM_OCInitStruct->TIM_Channel == TIM_Channel_3) ||
    245                  (TIM_OCInitStruct->TIM_Channel == TIM_Channel_4))
    246              { 
    247                tmpccmrx = TIMx->CCMR2;
    248          
    249                /* Reset the Output Compare Bits */
    250                tmpccmrx &= Tab_OCModeMask[TIM_OCInitStruct->TIM_Channel];
    251          
    252                /* Set the Output Polarity level */
    253                tmpccer &= Tab_PolarityMask[TIM_OCInitStruct->TIM_Channel];
    254          
    255                if (TIM_OCInitStruct->TIM_Channel == TIM_Channel_3)
    256                {
    257                  /* Disable the Channel 3: Reset the CCE Bit */
    258                  TIMx->CCER &= CCER_CC3E_Reset;
    259          
    260                  /* Select the Output Compare Mode */
    261                  tmpccmrx |= TIM_OCInitStruct->TIM_OCMode;
    262          
    263                  /* Set the Capture Compare Register value */
    264                  TIMx->CCR3 = TIM_OCInitStruct->TIM_Pulse;
    265          
    266                  /* Set the Capture Compare Enable Bit */
    267                  tmpccer |= CCER_CC3E_Set;
    268          
    269                  /* Set the Capture Compare Polarity */
    270                  tmpccer |= (u32)TIM_OCInitStruct->TIM_OCPolarity << 8;
    271                }
    272                else  /* TIM_Channel_4 */
    273                {
    274                  /* Disable the Channel 4: Reset the CCE Bit */
    275                  TIMx->CCER &= CCER_CC4E_Reset;
    276          
    277                 /* Select the Output Compare Mode */
    278                  tmpccmrx |= (u32)TIM_OCInitStruct->TIM_OCMode << 8;
    279          
    280                  /* Set the Capture Compare Register value */
    281                  TIMx->CCR4 = TIM_OCInitStruct->TIM_Pulse;
    282          
    283                  /* Set the Capture Compare Enable Bit */
    284                  tmpccer |= CCER_CC4E_Set;
    285          
    286                  /* Set the Capture Compare Polarity */
    287                  tmpccer |= (u32)TIM_OCInitStruct->TIM_OCPolarity << 12;
    288                }
    289          
    290                TIMx->CCMR2 = (u16)tmpccmrx;
    291              }
    292            }
    293            
    294            TIMx->CCER = (u16)tmpccer;
    295          }
    296          
    297          /*******************************************************************************
    298          * Function Name  : TIM_ICInit
    299          * Description    : Initializes the TIMx peripheral according to the specified
    300          *                  parameters in the TIM_ICInitStruct.
    301          * Input          : - TIMx: where x can be 2, 3 or 4 to select the TIM peripheral.
    302          *                  - TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure
    303          *                    that contains the configuration information for the specified
    304          *                    TIM peripheral.
    305          * Output         : None
    306          * Return         : None
    307          *******************************************************************************/
    308          void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)
    309          {
    310            /* Check the parameters */
    311            assert_param(IS_TIM_IC_MODE(TIM_ICInitStruct->TIM_ICMode));
    312            assert_param(IS_TIM_CHANNEL(TIM_ICInitStruct->TIM_Channel));
    313            assert_param(IS_TIM_IC_POLARITY(TIM_ICInitStruct->TIM_ICPolarity));
    314            assert_param(IS_TIM_IC_SELECTION(TIM_ICInitStruct->TIM_ICSelection));
    315            assert_param(IS_TIM_IC_PRESCALER(TIM_ICInitStruct->TIM_ICPrescaler));
    316            assert_param(IS_TIM_IC_FILTER(TIM_ICInitStruct->TIM_ICFilter));
    317            
    318            if (TIM_ICInitStruct->TIM_ICMode == TIM_ICMode_ICAP)
    319            {
    320              if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_1)
    321              {
    322                /* TI1 Configuration */
    323                TI1_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    324                           TIM_ICInitStruct->TIM_ICSelection,
    325                           TIM_ICInitStruct->TIM_ICFilter);
    326          
    327                /* Set the Input Capture Prescaler value */
    328                TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
    329              }
    330              else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_2)
    331              {
    332                /* TI2 Configuration */
    333                TI2_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    334                           TIM_ICInitStruct->TIM_ICSelection,
    335                           TIM_ICInitStruct->TIM_ICFilter);
    336          
    337                /* Set the Input Capture Prescaler value */
    338                TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
    339              }
    340              else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_3)
    341              {
    342                /* TI3 Configuration */
    343                TI3_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    344                           TIM_ICInitStruct->TIM_ICSelection,
    345                           TIM_ICInitStruct->TIM_ICFilter);
    346          
    347                /* Set the Input Capture Prescaler value */
    348                TIM_SetIC3Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
    349              }
    350              else /* TIM_Channel_4 */
    351              {
    352                /* TI4 Configuration */
    353                TI4_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity,
    354                           TIM_ICInitStruct->TIM_ICSelection,
    355                           TIM_ICInitStruct->TIM_ICFilter);
    356          
    357                /* Set the Input Capture Prescaler value */
    358                TIM_SetIC4Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler);
    359              }
    360            }
    361            else
    362            {
    363              PWMI_Config(TIMx, TIM_ICInitStruct);
    364            }
    365          }
    366          
    367          /*******************************************************************************
    368          * Function Name  : TIM_TimeBaseStructInit
    369          * Description    : Fills each TIM_TimeBaseInitStruct member with its default value.
    370          * Input          : - TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef
    371          *                    structure which will be initialized.
    372          * Output         : None
    373          * Return         : None
    374          *******************************************************************************/
    375          void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
    376          {
    377            /* Set the default configuration */
    378            TIM_TimeBaseInitStruct->TIM_Period = TIM_Period_Reset_Mask;
    379            TIM_TimeBaseInitStruct->TIM_Prescaler = TIM_Prescaler_Reset_Mask;
    380            TIM_TimeBaseInitStruct->TIM_ClockDivision = TIM_CKD_DIV1;
    381            TIM_TimeBaseInitStruct->TIM_CounterMode = TIM_CounterMode_Up;
    382          }
    383          
    384          /*******************************************************************************
    385          * Function Name  : TIM_OCStructInit
    386          * Description    : Fills each TIM_OCInitStruct member with its default value.
    387          * Input          : - TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure
    388          *                    which will be initialized.
    389          * Output         : None
    390          * Return         : None
    391          *******************************************************************************/
    392          void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct)
    393          {
    394            /* Set the default configuration */
    395            TIM_OCInitStruct->TIM_OCMode = TIM_OCMode_Timing;
    396            TIM_OCInitStruct->TIM_Channel = TIM_Channel_1;
    397            TIM_OCInitStruct->TIM_Pulse = TIM_Pulse_Reset_Mask;
    398            TIM_OCInitStruct->TIM_OCPolarity = TIM_OCPolarity_High;
    399          }
    400          
    401          /*******************************************************************************
    402          * Function Name  : TIM_ICStructInit
    403          * Description    : Fills each TIM_InitStruct member with its default value.
    404          * Input          : - TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure
    405          *                    which will be initialized.
    406          * Output         : None
    407          * Return         : None
    408          *******************************************************************************/
    409          void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct)
    410          {
    411            /* Set the default configuration */
    412            TIM_ICInitStruct->TIM_ICMode = TIM_ICMode_ICAP;
    413            TIM_ICInitStruct->TIM_Channel = TIM_Channel_1;
    414            TIM_ICInitStruct->TIM_ICPolarity = TIM_ICPolarity_Rising;
    415            TIM_ICInitStruct->TIM_ICSelection = TIM_ICSelection_DirectTI;
    416            TIM_ICInitStruct->TIM_ICPrescaler = TIM_ICPSC_DIV1;
    417            TIM_ICInitStruct->TIM_ICFilter = TIM_ICFilter_Mask;
    418          }
    419          
    420          /*******************************************************************************
    421          * Function Name  : TIM_Cmd

⌨️ 快捷键说明

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