コード例 #1
0
ファイル: main.c プロジェクト: edosedgar/stm8s
/**
  * @brief  Configure TIM1 to allow sine wave generation
  * @param  None
  * @retval None
  */
static void TIM1_Config(void)
{
  TIM1_DeInit();
  /* Time base configuration */
  /*
       TIM1_Period = INIT_TIM1_ARR
          TIM1_Prescaler = 0
       TIM1_RepetitionCounter=0
      */
  TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, INIT_TIM1_ARR, 0);
  
  /* PWM configuration */
  /*
       TIM1_OCMode = TIM1_OCMODE_PWM1
       TIM1_OutputState = TIM1_OUTPUTSTATE_ENABLE
       TIM1_Pulse = INIT_TIM1_CCR1
       TIM1_OCPolarity = TIM1_OCPOLARITY_LOW
  */
  TIM1_OC1Init(TIM1_OCMODE_PWM1, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE,
               INIT_TIM1_CCR1, TIM1_OCPOLARITY_LOW, TIM1_OCNPOLARITY_LOW, 
               TIM1_OCIDLESTATE_RESET, TIM1_OCNIDLESTATE_RESET);
  
  /* Update Interrupt Enable */
  TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);
  
  /* ARRPreload Enable */
  TIM1_ARRPreloadConfig(ENABLE);
  
  /* Enable TIM1 */
  TIM1_Cmd(ENABLE);
  
  /* Enable CC1 output*/
  TIM1_CtrlPWMOutputs(ENABLE);
}
/*
 *******************************************************************************
 *                                 FUNCTIONS                                 
 *******************************************************************************
 */
void HalLightInit(void)
{
  /* Enable TIM1 clock */
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM1, ENABLE);
  
  /* GPIOD configuration */
  GPIO_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_Out_PP_Low_Fast);
  GPIO_Init(GPIOD, GPIO_Pin_3, GPIO_Mode_Out_PP_Low_Fast);
  GPIO_SetBits(GPIOD, GPIO_Pin_3); /* Close relay output */
  /*
  - TIM1CLK = 16 MHz
  - TIM1 counter clock = TIM1CLK / 320 = 16MHz/320 = 50000Hz
  */
  /* Time base configuration */
  TIM1_TimeBaseInit(320, TIM1_CounterMode_Up, 100, 0);
  
  TIM1_OC1Init(TIM1_OCMode_PWM1, TIM1_OutputState_Enable, TIM1_OutputNState_Disable,
               10, TIM1_OCPolarity_Low, TIM1_OCNPolarity_High, TIM1_OCIdleState_Set,
               TIM1_OCNIdleState_Set);
  TIM1_OC1PreloadConfig(DISABLE);
  
  TIM1_ARRPreloadConfig(ENABLE);
  
  /* Enable TIM1 outputs */
//  TIM1_CtrlPWMOutputs(ENABLE);
  //HalLightOpen();
//  HalLightClose();
//  HalLightSetBrightness(10);
  HalLigthPWM = (80);
  HalLightOpen();
  
}
コード例 #3
0
//*********************************//2ms
void tmi1_ini(void)
{
    TIM1_TimeBaseInit(8,TIM1_COUNTERMODE_UP,2000,0);//设置分频数,设置定时周期
    TIM1_ARRPreloadConfig(ENABLE);//使能预装载
    TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);//使能中断
    TIM1_Cmd(ENABLE); //开启定时器
}
コード例 #4
0
ファイル: workMode.c プロジェクト: wantf/C
void initTimer(void)
{
		TIM1_DeInit();
		TIM1_TimeBaseInit(15, TIM1_COUNTERMODE_UP,5000-1, 0);	//5MS
		TIM1_ARRPreloadConfig(ENABLE);
		TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);
		TIM1_Cmd(ENABLE);
}