初级会员

- 积分
- 90
- 金钱
- 90
- 注册时间
- 2019-5-5
- 在线时间
- 22 小时
|
1金钱
PD12脚我配置的是GPIO_Mode_AF_PP模式,定时器配置如下,PD12只输出低电平,请各位大神指正。
void BL_TIMx_Mode_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
/* 设置TIM CLK 时钟 */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //使能BL_TIMx时钟
/* 基本定时器配置 */
TIM_TimeBaseStructure.TIM_Period = 255; //当定时器从0计数到255,即为256次,为一个定时周期
TIM_TimeBaseStructure.TIM_Prescaler = 1999; //设置预分频
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ; //设置时钟分频系数:不分频(这里用不到)
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
/* PWM模式配置 */
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //配置为PWM模式1
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //使能输出
TIM_OCInitStructure.TIM_Pulse = 0; //设置初始PWM脉冲宽度为0
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //当定时器计数值小于CCR_Val时为低电平
//使能通道和预装载
TIM_OC1Init(TIM4, &TIM_OCInitStructure);
TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM4, ENABLE); //使能BL_TIMx重载寄存器ARR
/* BL_TIMx enable counter */
TIM_Cmd(TIM4, ENABLE); //使能定时器
TIM4->CCR1=0x0000FF;
}
|
|