示例#1
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_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);  
}
示例#2
0
文件: buz.c 项目: wantf/C
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();
}
示例#3
0
/*******************************************************************************
*                           ==定时器2初始化函数==
* TIM2_DeInit();                                 --> 初始化定时器2寄存器
* TIM2_TimeBaseInit(TIM2_PRESCALER_1, 224);      --> 定时器2基本初始化 设置 分频系数 , 初值
                                                  --> ( 无分频 , 7372800 / 32768 = 225 校准为224 )
* TIM2_OC1Init(TIM2_OCMODE_PWM1 , TIM2_OUTPUTSTATE_ENABLE , 112 , TIM2_OCPOLARITY_HIGH);
                                                  --> 定时器2输出方式 为PWM1 , 定时器2输出状态使能 , 输出占空比 50% , 输出起始电平 为高
* TIM2_Cmd(ENABLE);                              --> 启动定时器
*******************************************************************************/
void TIME2_INIT(void)
{
	//	TIM2_DeInit();
	TIM2_TimeBaseInit(TIM2_PRESCALER_2, 1000);
	TIM2_OC3Init(TIM2_OCMODE_PWM1 , 
	TIM2_OUTPUTSTATE_ENABLE , 
	0 , 
	TIM2_OCPOLARITY_HIGH);
	//	TIM2_OC3PreloadConfig(ENABLE);
	//	TIM1_CtrlPWMOutputs(ENABLE);
	TIM2->CCMR3 |= (uint8_t)TIM2_CCMR_OCxPE;
	TIM1->BKR |= TIM1_BKR_MOE;
	TIM2->CR1 |= (uint8_t)TIM2_CR1_CEN;
	TIM2_Cmd(ENABLE);
}	
示例#4
0
/**
  * @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);
}
示例#5
0
/**
  * @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);
}