void HalLightOpen(void)
{
  TIM1_SetCompare1(5);
  TIM1_Cmd(ENABLE);
  TIM1_CtrlPWMOutputs(ENABLE);
  HalLightDelay();
  // GPIO_ResetBits(GPIOD, GPIO_Pin_3);
//  GPIO_SetBits(GPIOD, GPIO_Pin_3);
  HalLightDelay();
  for (int i = 5; i <= HalLigthPWM; i++)
  {
    HalLightDelay();
    TIM1_SetCompare1(i); 
  }
  HalLightOn = TRUE;
}
void HalLightClose(void)
{
  TIM1_SetCompare1(10);
  HalLightDelay();
//  GPIO_SetBits(GPIOD, GPIO_Pin_3);
  GPIO_ResetBits(GPIOD, GPIO_Pin_3);
  
  HalLightDelay();
  TIM1_Cmd(DISABLE);
  TIM1_CtrlPWMOutputs(DISABLE);
  GPIO_SetBits(GPIOD, GPIO_Pin_2);
  
  HalLightOn = FALSE;
  HalLigthPWM = 0;     /* 定时器关闭,无PWM输出 */
}
コード例 #3
0
ファイル: led.c プロジェクト: glocklueng/I2C-LED
void led_set_duty(uint8_t duty)
{
  if (duty > 15) duty = 15;
  TIM1_SetCompare1((uint16_t)duty);
}
void HalLightSetBrightness(uint8_t percent)
{
  HalLigthPWM = percent;
  TIM1_SetCompare1(percent);
}