pwm实验纯文字总结

本文详细介绍了在STM32中使用PWM的原理和实践,重点解析了定时器TIM1的配置,包括预分频器、自动重装载寄存器等关键概念。通过设置TIM_Period和TIM_Pulse,可以控制PWM的占空比,实现PWM波形的生成。实验中还涉及了TIM_OCInitTypeDef结构体的使用,讲解了TIM_OCPolarity、TIM_Pulse和TIM_OutputState等参数对PWM输出的影响。

PWM主要是对STM32的定时器的应用。STM32有8个定时器,其中TIM1和TIM8是高级定时器,其他为通用定时器。实验中函数用的是TIM1。定时器1的主要由一个16位的计数器(CNT寄存器)、预分频器、自动重装载寄存器(auto reload register)构成。预分频器将芯片送来的时钟进行指定分频后给定时器做时钟节拍。自动重装载计数器储存编程者装入的数字,在每一次溢出/下溢出时装入。16位计数器是定时器核心。下面总结一下定时器的操作函数。

  1. TIM_TimeBaseInitTypeDef
    时基初始化结构体,它包括了四个成员函数:TIM_ClockDivision、TIM_CounterMode、TIM_Period、TIM_Prescaler。比较重要的是TIM_Period成员,它控制的是定时周期。比如说将TIM_Period设置成999,则计数器会数1000个(TIM_Period+1)节拍为一个定时器的周期。这个和后面需要配置的TIM_Pulse共同控制着定时器输出波形的占空比。TIM_ClockDivision在参考手册中的定义是“Specifies the clock division”——指定时钟的分频。可见其是用来对时钟分频的,而TIM_Prescaler的定义是“Specifies the prescaler value used to divide the TIM clock”,用来指定TIM时钟的分频值。也就是说它是进一步来分频TIM clock的。TIM_CounterMode是计数器模式,分为向上、向下、中间计数三种。

  2. TIM_OCInitTypeDef
    输出通道(output channel)初始化结构体。该结构体主要配置TIM的工作模式。需要注意的是每一个定时器的4个通道分别对应一个初始化函数,也就是TIM_OCXInit(X=1,2,3,4)。总结其中几个重要的成员函数。
    i)TIM_OCPolarity
    定时器极性。它的参数为TIM_OCPolarity_High、TIM_OCPolarity_Low,用来设置定时器在未达到跳变 值时的电平(高低)。之所以重要是因为它也可以决定占空比,因为占空比的定义是高电平占周

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值