概述
一、中间计数模式
如图,是定时器上升计数模式,初始化过程中通过设置对应的psc,arr得到要求频率,占空比的PWM,可用于电机调速,呼吸灯,控制舵机等……
如图,中间计数模式还有一向下计数的过程,形状类似于三角波,通过设置不同的CCR得到存在相位差的PWM。
二、STMM32CubeMX的配置
1、在RCC选择外部晶振
2、配置定时器时钟来源,使能PWM输出通道,设置psc与arr
中间计数存在三个模式
模式一二仅仅在向上计数与向下计数产生一处中断,PWM频率计算与向上计数模式相同
PWM频率 = 定时器频率/(分频系数 x 自动重装载值)
模式三,在向上或向下计数产生中断,PWM频率计算公式
PWM频率 = 定时器频率/(分频系数 x 自动重装载值 x 2)
3、配置时钟树
时钟树能够很好理解单片机的运行,有很多详细博客进行讲解,不在此处进行讲述
4、生成模板
三、代码讲解
在主函数加入以下代码
HAL_TIM_Base_Start_IT(&htim3); //开启定时器3中断(5ms)
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2);
TIM1->CCR1 = 144;
TIM1->CCR2 = 216;
TIM1->CCR1=360*0.4(100kHz 40%占空比,CH Polarity设置为High)
TIM1->CCR1=360-360*0.4(100kHz 40%占空比,CH Polarity设置为low)
四、现象展示
最后
以上就是饱满飞鸟为你收集整理的【STM32】STM32中间计数模式产生多路存在的相位差PWM的全部内容,希望文章能够帮你解决【STM32】STM32中间计数模式产生多路存在的相位差PWM所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复