PWM输出初始化的时候有两个库函数TIM_OCxPreloadConfig();和TIM_ARRPreloadConfig();一个是使能CCRx上的预加载寄存器,一个是使能ARR上的预装载寄存器,作PWM输出应该都要使能,为什么我程序屏蔽了还是可以正常输出PWM波形,这是为什么呢?默认就已使能还是前面的代码已经使能?求指点。
TIM_TimeBaseInitStructure.TIM_Prescaler=psc;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInitStructure.TIM_Period=arr;
TIM_TimeBaseInitStructure.TIM_ClockDivision=0;//TIM_CKD_DIV1
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OC2Init(TIM3,&TIM_OCInitStructure); //TIM3_CH2的初始化
// TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);//使能CCR2上的预加载器
// TIM_ARRPreloadConfig(TIM3,ENABLE);//使能ARR上的预装载寄存器
TIM_Cmd(TIM3,ENABLE);//使能TIM3 |