新手上路
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2020-2-12
- 在线时间
- 2 小时
|
1金钱
void TIM3_PWM_INIT(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitTypeSture;
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitSture;
TIM_OCInitTypeDef TIM_OCInitTypeSture;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能GPIO
//初始化IO口 输出 TIM3 CH1 的 PWM 脉冲波形
GPIO_InitTypeSture.GPIO_Mode= GPIO_Mode_Out_PP; //推挽输出
GPIO_InitTypeSture.GPIO_Pin=GPIO_Pin_6;
GPIO_InitTypeSture.GPIO_Speed= GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitTypeSture);
// TIM3 初始化
TIM_TimeBaseInitSture.TIM_ClockDivision=TIM_CKD_DIV1;//设置时钟分割
TIM_TimeBaseInitSture.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInitSture.TIM_Period=arr; //设置自动重装载寄存器周期的值
TIM_TimeBaseInitSture.TIM_Prescaler=psc; //设置时钟频率除数的预分频值
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitSture);
//初始化TIM3 通道1 PWM模式
TIM_OCInitTypeSture.TIM_OCMode=TIM_OCMode_PWM2; //pwm选择模式2
TIM_OCInitTypeSture.TIM_OutputState=TIM_OutputState_Enable; //比较输出使能
TIM_OCInitTypeSture.TIM_OCPolarity=TIM_OCPolarity_High; //输出极性高
TIM_OC1Init(TIM3,&TIM_OCInitTypeSture);
TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable); //使能预装载寄存器
TIM_Cmd(TIM3,ENABLE); //使能TIM3
}
|
|