本例程同样是设置PB0、PB1为TIM1_CH2N、TIM1_CH2,控制两个LED交替闪动。与上个例程最大的区别就是使用TIM_ForcedOC1Config函数设置pwm的输出使能。当设置PWM输出为0%占空比时,禁止PWM输出,当设置PWM输出为100%占空比时,使能PWM输出。
通过TIM_SetCompare2可以直接修改占空比。
1 PWM占空比设置函数
void SetTim1PWMduty0(void)
{
TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_Active);
}
void SetTim1PWMduty100(void)
{
TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);
}
unsigned int formode = 0;
void SetTim1PWMduty(uint32_t duty)
{
u32 PMWpluse = 0;
// duty = 600;
if((duty > 0) && (duty < 1000)) {
if(formode == 1) {
formode = 0;
TIM_ForcedOC1Config(TIM1, TIM_OCMode_PWM1);
}
//PMWpluse = (3000 * duty)/1000;
PMWpluse = (30000 * duty) / 1000;
TIM_SetCompare