/** * @brief Example firmware main entry point. * @par Parameters: * None * @retval * None */ void main(void) { /* Time base configuration */ TIM2_TimeBaseInit(TIM2_PRESCALER_2048, 65535); /* Prescaler configuration */ TIM2_PrescalerConfig(TIM2_PRESCALER_2048, TIM2_PSCRELOADMODE_IMMEDIATE); /* Output Compare Active Mode configuration: Channel1 */ /* TIM2_OCMode = TIM2_OCMODE_ACTIVE TIM2_OutputState = TIM2_OUTPUTSTATE_ENABLE TIM2_Pulse = CCR1_Val TIM2_OCPolarity = TIM2_OCPOLARITY_HIGH */ TIM2_OC1Init(TIM2_OCMODE_ACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC1PreloadConfig(DISABLE); /* Output Compare Active Mode configuration: Channel2 */ /*TIM2_Pulse = CCR2_Val */ TIM2_OC2Init(TIM2_OCMODE_ACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR2_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC2PreloadConfig(DISABLE); /* Output Compare Active Mode configuration: Channel3 */ /* TIM2_Pulse = CCR3_Val */ TIM2_OC3Init(TIM2_OCMODE_ACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR3_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC3PreloadConfig(DISABLE); TIM2_ARRPreloadConfig(ENABLE); /* Set PG.6 pin */ GPIO_Init(GPIOG, GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST); GPIO_WriteHigh(GPIOG, GPIO_PIN_6); /* TIM2 enable counter */ TIM2_Cmd(ENABLE); while (1); }
/** * @brief Example firmware main entry point. * @par Parameters: * None * @retval * None */ void main(void) { /* Time base configuration */ TIM2_TimeBaseInit(TIM2_PRESCALER_2048, 65535); /* Prescaler configuration */ TIM2_PrescalerConfig(TIM2_PRESCALER_2048, TIM2_PSCRELOADMODE_IMMEDIATE); /* Output Compare Active Mode configuration: Channel1 */ /* TIM2_OCMode = TIM2_OCMODE_INACTIVE TIM2_OCPolarity = TIM2_OCPOLARITY_HIGH TIM2_Pulse = CCR1_Val */ TIM2_OC1Init(TIM2_OCMODE_INACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC1PreloadConfig(DISABLE); /* Output Compare Active Mode configuration: Channel2 */ /*TIM2_Pulse = CCR2_Val; */ TIM2_OC2Init(TIM2_OCMODE_INACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR2_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC2PreloadConfig(DISABLE); /* Output Compare Active Mode configuration: Channel3 */ /*TIM2_Pulse = CCR3_Val */ TIM2_OC3Init(TIM2_OCMODE_INACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR3_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC3PreloadConfig(DISABLE); TIM2_ARRPreloadConfig(ENABLE); /* TIM IT enable */ TIM2_ITConfig(TIM2_IT_CC1, ENABLE); TIM2_ITConfig(TIM2_IT_CC2, ENABLE); TIM2_ITConfig(TIM2_IT_CC3, ENABLE); /* Set pin PG.5 & PG.6 & PG.7 to high state */ GPIO_Init(GPIOG, (GPIO_PIN_5|GPIO_PIN_6| GPIO_PIN_7), GPIO_MODE_OUT_PP_LOW_FAST); GPIO_WriteHigh(GPIOG, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7); /* TIM2 enable counter */ TIM2_Cmd(ENABLE); enableInterrupts(); while (1); }
/** * @brief Configure Output Compare Active Mode for TIM2 Channel1, Channel2 and * channel3 * @param None * @retval None */ static void TIM2_Config(void) { /* Time base configuration */ TIM2_TimeBaseInit(TIM2_PRESCALER_2048, 65535); /* Prescaler configuration */ TIM2_PrescalerConfig(TIM2_PRESCALER_2048, TIM2_PSCRELOADMODE_IMMEDIATE); /* Output Compare Active Mode configuration: Channel1 */ /* TIM2_OCMode = TIM2_OCMODE_INACTIVE TIM2_OCPolarity = TIM2_OCPOLARITY_HIGH TIM2_Pulse = CCR1_Val */ TIM2_OC1Init(TIM2_OCMODE_INACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC1PreloadConfig(DISABLE); /* Output Compare Active Mode configuration: Channel2 */ /*TIM2_Pulse = CCR2_Val; */ TIM2_OC2Init(TIM2_OCMODE_INACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR2_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC2PreloadConfig(DISABLE); /* Output Compare Active Mode configuration: Channel3 */ /*TIM2_Pulse = CCR3_Val */ TIM2_OC3Init(TIM2_OCMODE_INACTIVE, TIM2_OUTPUTSTATE_ENABLE,CCR3_Val, TIM2_OCPOLARITY_HIGH); TIM2_OC3PreloadConfig(DISABLE); TIM2_ARRPreloadConfig(ENABLE); /* TIM IT enable */ TIM2_ITConfig(TIM2_IT_CC1, ENABLE); TIM2_ITConfig(TIM2_IT_CC2, ENABLE); TIM2_ITConfig(TIM2_IT_CC3, ENABLE); /* TIM2 enable counter */ TIM2_Cmd(ENABLE); }