新手上路
- 积分
- 41
- 金钱
- 41
- 注册时间
- 2020-4-8
- 在线时间
- 19 小时
|
1金钱
为什么自动装载值和分频系数一样的TIM2和TIM5(PWM初始化程序),用来调整LED的亮度。但为什么LED的亮度相差很大。
/////TIM5
void TIM5_PWM_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);
TIM_TimeBaseInitStructure.TIM_Period = 255;
TIM_TimeBaseInitStructure.TIM_Prescaler = 1999;
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //éèÖÃÏòéϼÆêyÄ£ê½
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OCPolarity =TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OC2Init(TIM5,&TIM_OCInitStructure);
TIM_OC2PreloadConfig(TIM5,TIM_OCPreload_Enable);
TIM_OC3Init(TIM5,&TIM_OCInitStructure);
TIM_OC3PreloadConfig(TIM5,TIM_OCPreload_Enable);
TIM_OC4Init(TIM5,&TIM_OCInitStructure);
TIM_OC4PreloadConfig(TIM5,TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM5,ENABLE);
TIM_Cmd(TIM5, ENABLE);
}
/////TIM2
void TIM2_PWM_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
TIM_TimeBaseInitStructure.TIM_Period = 255;
TIM_TimeBaseInitStructure.TIM_Prescaler = 1999;
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OCPolarity =TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OC2Init(TIM2,&TIM_OCInitStructure);
TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable); //ê1ÄüTIMxÔú CCR2 éÏμÄÔ¤×°ÔØ¼Ä′æÆ÷
TIM_OC3Init(TIM2,&TIM_OCInitStructure);
TIM_OC3PreloadConfig(TIM2,TIM_OCPreload_Enable);
TIM_OC4Init(TIM2,&TIM_OCInitStructure);
TIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM2,ENABLE);
TIM_Cmd(TIM2, ENABLE);
}
|
-
左边是TIM2,右边是TIM5
最佳答案
查看完整内容[请看2#楼]
问题再找到了。TIM5的 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);没改成TIM5
|