stm32f103利用pwm控制背光,但是pwm配置没配好,麻烦大神们帮忙看看,下面是配置代码
void PWM_Config()
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM8_TimeBaseStructure;
TIM_OCInitTypeDef TIM8_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8, ENABLE);//开启TIM8的时钟
//GPIO配置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
//定时器配置
TIM8_TimeBaseStructure.TIM_Period =2000;//计数值2000
TIM8_TimeBaseStructure.TIM_Prescaler = 35999;
TIM8_TimeBaseStructure.TIM_ClockDivision = 0;
TIM8_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数
TIM_TimeBaseInit(TIM8, &TIM8_TimeBaseStructure);
//通道配置这里是用TIM8的通道1进行配置,对应的GPIO是PC6口
TIM8_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//模式一
TIM8_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;//极性低(低电平有效)
TIM8_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//通道1输出使能
TIM8_OCInitStructure.TIM_Pulse =backlight;//占空比这里是想通过在中断服务函数里对全局变量backlight进行控制,以达到控制占空比的目的
TIM_OC1Init(TIM8,&TIM8_OCInitStructure);
TIM_OC1PreloadConfig(TIM8, TIM_OCPreload_Enable); ////使能TIM8在CCR1预装载寄存器
TIM_ARRPreloadConfig(TIM8, ENABLE);//使能TIM8在ARR上的预装载寄存器
TIM_ClearITPendingBit(TIM8, TIM_IT_CC1);//预先清除中断位
TIM_ITConfig(TIM8,TIM_IT_CC1,ENABLE);//使能中断位
TIM_Cmd(TIM8, ENABLE);//使能定时器
}
用示波器没有检测出PWM波,大神们帮忙看一下,配置有没有哪里错了,或者有哪些没有配置好的