/** * @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); }
void BuzzerStart(void) { /* TIM2_DeInit(); TIM2_TimeBaseInit(TIM2_PRESCALER_16,u8BzrFrqBuf); TIM2_ARRPreloadConfig(ENABLE); TIM2_Cmd(ENABLE); TIM2_ITConfig(TIM2_IT_UPDATE,ENABLE); */ TIM2_DeInit(); TIM2_TimeBaseInit(TIM2_PRESCALER_16,u8BzrFrqBuf ); #ifdef NEW_260 TIM2_CCxCmd(TIM2_CHANNEL_3, ENABLE); TIM2_OC3Init(TIM2_OCMODE_TOGGLE, TIM2_OUTPUTSTATE_ENABLE, 64, TIM2_OCPOLARITY_LOW); TIM2_OC3PreloadConfig(ENABLE); #else TIM2_CCxCmd(TIM2_CHANNEL_2, ENABLE); TIM2_OC2Init(TIM2_OCMODE_TOGGLE, TIM2_OUTPUTSTATE_ENABLE, 64, TIM2_OCPOLARITY_LOW); TIM2_OC2PreloadConfig(ENABLE); #endif TIM2_ARRPreloadConfig(ENABLE); TIM2_ITConfig(TIM2_IT_CC1, DISABLE); TIM2_ITConfig(TIM2_IT_CC2, DISABLE); TIM2_ITConfig(TIM2_IT_CC3, DISABLE); TIM2_ITConfig(TIM2_IT_UPDATE, DISABLE); TIM2_GenerateEvent(TIM2_EVENTSOURCE_UPDATE); TIM2_Cmd(ENABLE); SetBuzzerEnOn(); }
void tim2_on(void) { TIM2_TimeBaseInit(TIM2_Prescaler_2,TIM2_CounterMode_Up,0x0800); TIM2_OC1Init(TIM2_OCMode_PWM2,TIM2_OutputState_Enable,0x0400,TIM2_OCPolarity_High,TIM2_OCIdleState_Set); TIM2_OC2Init(TIM2_OCMode_PWM2,TIM2_OutputState_Enable,0x0400,TIM2_OCPolarity_Low ,TIM2_OCIdleState_Set); TIM2_CCxCmd(TIM2_Channel_1,ENABLE); TIM2_CCxCmd(TIM2_Channel_2,ENABLE); TIM2_BKRConfig(TIM2_OSSIState_Enable,TIM2_LockLevel_Off,TIM2_BreakState_Disable,TIM2_BreakPolarity_High,TIM2_AutomaticOutput_Enable); TIM2_ITConfig(TIM2_IT_CC1,ENABLE); TIM2_ITConfig(TIM2_IT_CC2,DISABLE); TIM2_Cmd(ENABLE); };
/** * @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); }