我想用STM8L051 的TIMER2产生PWM,程序如下:但出不了PWM信号,请各位帮我看看是什么问题,谢谢!
GPIO_Init(GPIOC,GPIO_Pin_5,GPIO_Mode_Out_PP_High_Fast); //PC5:T2C1,OUT PWM
GPIO_Init(GPIOB,GPIO_Pin_2,GPIO_Mode_Out_PP_High_Fast); //PB2:T2C2,CHARGE PWM
/**************Timer2 init ****************************/
/* Enable TIM2 clock */
CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);
TIM2_TimeBaseInit(TIM2_Prescaler_128,TIM2_CounterMode_Up,100);
//设置TIM2 CH1,TIM2 CH2输出PWM
TIM2_OC2Init(TIM2_OCMode_PWM2, TIM2_OutputState_Enable,30, TIM2_OCPolarity_Low,TIM2_OCIdleState_Reset);//充电
TIM2_OC1Init(TIM2_OCMode_PWM2, TIM2_OutputState_Enable,20, TIM2_OCPolarity_Low,TIM2_OCIdleState_Reset);//调光
/* Set TIM1 Autoreload value*/
TIM2_SetAutoreload(100);
/* Enable TIM2 Outputs*/
TIM2_CtrlPWMOutputs(ENABLE);
/* Enable TIM2 */
TIM2_Cmd(ENABLE);
|
|
我想用STM8L051 的TIMER2产生PWM,程序如下:但出不了PWM信号,请各位帮我看看是什么问题,谢谢!
GPIO_Init(GPIOC,GPIO_Pin_5,GPIO_Mode_Out_PP_High_Fast); //PC5:T2C1,OUT PWM
GPIO_Init(GPIOB,GPIO_Pin_2,GPIO_Mode_Out_PP_High_Fast); //PB2:T2C2,CHARGE PWM
/**************Timer2 init ****************************/
/* Enable TIM2 clock */
CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);
TIM2_TimeBaseInit(TIM2_Prescaler_128,TIM2_CounterMode_Up,100);
//设置TIM2 CH1,TIM2 CH2输出PWM
TIM2_OC2Init(TIM2_OCMode_PWM2, TIM2_OutputState_Enable,30, TIM2_OCPolarity_Low,TIM2_OCIdleState_Reset);//充电
TIM2_OC1Init(TIM2_OCMode_PWM2, TIM2_OutputState_Enable,20, TIM2_OCPolarity_Low,TIM2_OCIdleState_Reset);//调光
/* Set TIM1 Autoreload value*/
TIM2_SetAutoreload(100);
/* Enable TIM2 Outputs*/
TIM2_CtrlPWMOutputs(ENABLE);
/* Enable TIM2 */
TIM2_Cmd(ENABLE);
已经解决,谢谢大家!
谢谢