/** * @brief Initializes the TIM4 Time Base Unit according to the specified parameters. * @param TIM4_Prescaler : This parameter can be any of the @Ref TIM2_Prescaler_TypeDef enumeration. * @param TIM4_Period : This parameter must be a value between 0x00 and 0xFF. * @retval None */ void TIM4_TimeBaseInit(TIM4_Prescaler_TypeDef TIM4_Prescaler, uint8_t TIM4_Period) { /* Check TIM4 prescaler value */ assert_param(IS_TIM4_Prescaler(TIM4_Prescaler)); /* Set the Autoreload value */ TIM4->ARR = (uint8_t)(TIM4_Period); /* Set the Prescaler value */ TIM4->PSCR = (uint8_t)(TIM4_Prescaler); }
/** * @brief Initializes the TIM4 Time Base Unit according to the specified parameters. * @param TIM4_Prescaler: Prescaler * This parameter can be one of the following values: * @arg TIM4_Prescaler_1: Time base Prescaler = 1 (No effect) * @arg TIM4_Prescaler_2: Time base Prescaler = 2 * @arg TIM4_Prescaler_4: Time base Prescaler = 4 * @arg TIM4_Prescaler_8: Time base Prescaler = 8 * @arg TIM4_Prescaler_16: Time base Prescaler = 16 * @arg TIM4_Prescaler_32: Time base Prescaler = 32 * @arg TIM4_Prescaler_64: Time base Prescaler = 64 * @arg TIM4_Prescaler_128: Time base Prescaler = 128 * @arg TIM4_Prescaler_256: Time base Prescaler = 256 * @arg TIM4_Prescaler_512: Time base Prescaler = 512 * @arg TIM4_Prescaler_1024: Time base Prescaler = 1024 * @arg TIM4_Prescaler_2048: Time base Prescaler = 2048 * @arg TIM4_Prescaler_4096: Time base Prescaler = 4096 * @arg TIM4_Prescaler_8192: Time base Prescaler = 8192 * @arg TIM4_Prescaler_16384: Time base Prescaler = 16384 * @arg TIM4_Prescaler_32768: Time base Prescaler = 32768 * @param TIM4_Period: This parameter must be a value between 0x00 and 0xFF. * @retval None */ void TIM4_TimeBaseInit(TIM4_Prescaler_TypeDef TIM4_Prescaler, uint8_t TIM4_Period) { /* Check TIM4 prescaler value */ assert_param(IS_TIM4_Prescaler(TIM4_Prescaler)); /* Set the Autoreload value */ TIM4->ARR = (uint8_t)(TIM4_Period); /* Set the Prescaler value */ TIM4->PSCR = (uint8_t)(TIM4_Prescaler); /* Generate an update event to reload the Prescaler value immediately */ TIM4->EGR = TIM4_EventSource_Update; }
/** * @brief Configures the TIM4 Prescaler. * @param Prescaler: Specifies the Prescaler Register value * This parameter can be one of the following values: * @arg TIM4_Prescaler_1: Time base Prescaler = 1 (No effect) * @arg TIM4_Prescaler_2: Time base Prescaler = 2 * @arg TIM4_Prescaler_4: Time base Prescaler = 4 * @arg TIM4_Prescaler_8: Time base Prescaler = 8 * @arg TIM4_Prescaler_16: Time base Prescaler = 16 * @arg TIM4_Prescaler_32: Time base Prescaler = 32 * @arg TIM4_Prescaler_64: Time base Prescaler = 64 * @arg TIM4_Prescaler_128: Time base Prescaler = 128 * @arg TIM4_Prescaler_256: Time base Prescaler = 256 * @arg TIM4_Prescaler_512: Time base Prescaler = 512 * @arg TIM4_Prescaler_1024: Time base Prescaler = 1024 * @arg TIM4_Prescaler_2048: Time base Prescaler = 2048 * @arg TIM4_Prescaler_4096: Time base Prescaler = 4096 * @arg TIM4_Prescaler_8192: Time base Prescaler = 8192 * @arg TIM4_Prescaler_16384: Time base Prescaler = 16384 * @arg TIM4_Prescaler_32768: Time base Prescaler = 32768 * @param TIM4_PSCReloadMode: Specifies the TIM4 Prescaler Reload mode. * This parameter can be one of the following values: * @arg TIM4_PSCReloadMode_Update: Prescaler value is reloaded at every update * @arg TIM4_PSCReloadMode_Immediate: Prescaler value is reloaded immediatly * @retval None */ void TIM4_PrescalerConfig(TIM4_Prescaler_TypeDef Prescaler, TIM4_PSCReloadMode_TypeDef TIM4_PSCReloadMode) { /* Check the parameters */ assert_param(IS_TIM4_Prescaler_RELOAD(TIM4_PSCReloadMode)); assert_param(IS_TIM4_Prescaler(Prescaler)); /* Set the Prescaler value */ TIM4->PSCR = (uint8_t) Prescaler; /* Set or reset the UG Bit */ if (TIM4_PSCReloadMode == TIM4_PSCReloadMode_Immediate) { TIM4->EGR |= TIM4_EGR_UG ; } else { TIM4->EGR &= (uint8_t)(~TIM4_EGR_UG) ; } }