STM32F4PWM配置(一)

PWM配置

1.定义结构体

<1.定义GPIO结构体

​ GPIO_InitTypeDef GPIO_InitStructure;

<2.定义定时器结构体

​ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

< 3.定时器输出比较结构体

​ TIM_OCInitTypeDef TIM_OCInitStructure;

2.开启时钟总线

<1.定时器时钟使能

​ RCC_APB1PeriphClockCmd(RCC_APB1Periph_定时器,ENABLE);

<2.GPIO时钟使能

​ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOX, ENABLE);

3.引脚复用为定时器

GPIO_PinAFConfig(GPIOX,GPIO_PinSource引脚,GPIO_AF_定时器); //GPIOF9复用为定时器

4.配置GPIO为推挽复用输出上拉

1.设置GPIO引脚

GPIO_InitStructure.GPIO_Pin = 引脚

2.设置GPIO模式为复用

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

3.设置GPIO输出为推挽

GPIIO_InitStructure.GPIO_OType = GPIO_OType_PP;

4.设置GPIO为上拉

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

5.初始化GPIO

GPIO_Init(GPIOX,&GPIO_InitStructure);

5.配置定时器

1.配置定时器自动重载值

TIM_TimeBaseStructure.TIM_Period = 自动重载值

2.配置定时器分频

TIM_TimeBaseStructure.TIM_Prescaler = 定时器分频

3.配置定时器计数模式为向上计数

TIM_TIMEBaseStructure.TIM_CounterMode = TIM_CounterMode_Up

4.配置定时器时钟分频模式

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;

5.初始化定时器

TIM_TimeBaseInit(定时器,&TIM_TimeBaseStructure);

6.配置定时器输出比较

1.选择定时器模式为:TIM脉冲宽度调制

​ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;

2.比较输出使能

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

3.输出极性

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;

4.初始化

TIM_OC1Init(TIM14, &TIM_OCInitStructure);

5.使能预装载寄存器

TIM_OC1PreloadConfig(TIM14, TIM_OCPreload_Enable);

6.使能ARPE

TIM_ARRPreloadConfig(TIM14,ENABLE);//ARPE使能

7.使能定时器

TIM_Cmd(TIM14, ENABLE);

7.PWM使用

1.修改比较值

TIM_SetCompare1(定时器,比较值);

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值