于pwm波的输出实验老早之前就学了,一直拖到现在才写,,,。由于之前接触过32的高级定时器所以是先从死区pwm波开始学的,后面才学的pwm波。其实会发出死区pwm波了也就会发pwm波了。在学习32的某个功能时要先去看32的数据参考手册了解它的功能然后看它有哪些寄存器,对你需要用到的寄存器深入了解,最后看库函数进行编程。
要发出死区pwm波就要用到32的高级定时器TIM1或TIM8,这两个定时器才有死区寄存器才能发出死区pwm波,对于它们的介绍网上资料有很多这里就不重复啰嗦了,但需要看几个重要的寄存器:
● 控制寄存器(TIMx_CRx)
● 模式控制寄存器(TIMx_SMCR)
● 状态寄存器(TIMx_SR)
● 计数器寄存器(TIMx_CNT)
● 预分频器寄存器(TIMx_PSC)
● 自动装载寄存器(TIMx_ARR)
● 重复次数寄存器(TIMx_RCR)
● 刹车和死区寄存器(TIMx_BDTR)
前面几个寄存器是在配置TIM1/TIM8是要用到的基本设置。自动装载寄存器是预先装载的,写或读自动重装载寄存器将访问预装载寄存器。根据在TIMx_CR1寄存器中的自动装载预装载使能位(ARPE)的设置,预装载寄存器的内容被立即或在每次的更新事件UEV时传送到影子寄存器。当计数器达到溢出条件(向下计数时的下溢条件)并当TIMx_CR1寄存器中的UDIS位等于0时,产生更新事件。更新事件也可以由软件产生。计数器由预分频器的时钟输出CK_CNT驱动,仅当设置了计数器TIMx_CR1寄存器中的计数器使能位(CEN)时,CK_CNT才有效。(更多有关使能计数器的细节,请参见控制器的从模式描述)。注意,在设置了TIMx_CR寄存器的CEN位的一个时钟周期后,计数器开始计数。最后来看一下死区寄存器:它是用来设置两个互补pwm波的死区时间的
STM32——TIM死区互补PWM波输出
最新推荐文章于 2025-06-18 15:06:44 发布