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输出 */ }
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); }