STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比

发布者:心灵舞者最新更新时间:2023-09-30 来源: elecfans关键字:STM32CUBEIDE  输出PWM  频率  占空比 手机看文章 扫描二维码
随时随地手机看文章

概述

本章STM32CUBEMX配置STM32F103输出PWM,并在示波器中查看效果。

需要样片的可以加Qun申请:615061293。


生成例程

使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板

在这里插入图片描述

查看原理图,PA8设置为PWM输出管脚。

在这里插入图片描述

生成独立的文件。

在这里插入图片描述

工作过程

查看下面工作原理图可以得知,时钟可以由内部Internal clock产生或者外部ETR。 同时可以设置复位,使能,向上/向下,计数。

在这里插入图片描述

查看下列文档可以得知,定时器主要有TIMx_CNT、TIMx_PSC、TIMx_ARR、TIMx_RCR控制。 同时预分频器(TIMx_PSC)范围位1-65535。

在这里插入图片描述

查看TIMx_PSC说明,可以得知定时器频率为 fCK_PSC / (PSC[15:0] + 1)

在这里插入图片描述

可以看到,当psc设置为不同的值的时候,计数频率也会发生改变。

在这里插入图片描述

同时ARR可以改变计数值,当写入的arr越大,他的频率越低,计数周期是ARR+1。

在这里插入图片描述

PWM频率计算如下所示。

在这里插入图片描述

在上面配置TIM1参数,预分频系数设置为64-1, 自动重载值设置为1000-1,那么PWM频率为64,000,000/((64-1+1)*(1000-1+1))=1000Hz,即1KHz。

在这里插入图片描述

只要TIM1_CNT= TIM1_CCRx,OCxRER为低。若TIM1_CCRx中的比较值大于自动重载值(在TIM1_ARR中)则OCxREF仍保持1。若比较值是0则OCxREF保持0。下图的例子显示了当TIM1_ARR=8时一些边沿对齐的PWM波形。

在这里插入图片描述

__HAL_TIM_SET_COMPARE()

设置ccr,可以通过此函数修改pwm。

在这里插入图片描述

由于上述设置计数值位1000,那么设置30%的正占空比的ccr应该配置为30%*1000=300,代码如下所示。

HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 300);

在这里插入图片描述

修改PWM频率

修改PWM频率可以修改PSC或者ARR来进行改变。

在这里插入图片描述

__HAL_TIM_SET_AUTORELOAD ()

设置TIM自动重新加载寄存器值。

在这里插入图片描述

初始设置为PSC为64-1,ARR为1000-1,若设置为500-1,那么他的频率应该是64M/(64-1+1)(500-1+1)=2k 占空比为300/500*100%=60%

__HAL_TIM_SET_AUTORELOAD(&htim1, 500-1);

在这里插入图片描述

__HAL_TIM_SET_PRESCALER()

在运行时设置TIM Prescaler。

在这里插入图片描述

初始设置为ARR为500-1,PSC为64-1,若设置为32-1,那么他的频率应该是64M/(32-1+1)(500-1+1)=4k 占空比为300/500*100%=60%

__HAL_TIM_SET_PRESCALER(&htim1, 32-1);

在这里插入图片描述


关键字:STM32CUBEIDE  输出PWM  频率  占空比 引用地址:STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比

上一篇:基于STM32的多路电压采集的设计与实现
下一篇:STM32、GD32、ESP32的区别

推荐阅读最新更新时间:2024-11-16 21:55

电源技巧:如何在隔离式电源中测量频率响应
您在补偿隔离式电源的反馈回路时是不是感到无从下手呢?在您进行测量时,回路的断开位置将直接影响到这项工作的难度。 在选择TL431电路周围的补偿组件时,在一个特定的位置断开回路十分关键。我们可以选择在两个位置断开回路。 大多数工程师喜欢在图1显示的反馈电阻分压器的位置上断开回路。毕竟,我们在非隔离式降压电路中是这么做的。当我们在这款隔离式电源中也进行同样操作的话,内部回路会变成发电厂设备的一部分,并且使得方程式和设计过程变得复杂。当我们在分压器上断开回路时,我们必须: 检查内部开回路的稳定性。 然后,我们必须查看这个内部回路的闭环响应。闭合内部回路是发电厂设备,它由外部回路控制。 通过选择外部回路内的TL431周围的补偿组
[电源管理]
电源技巧:如何在隔离式电源中测量<font color='red'>频率</font>响应
PIC16C54单片机制作简易AM频率
  目前,市面上有许多AM调幅的无线电控制产品,如汽车防盗器、玩具等。它们的遥控器发射电路大多采用LC振荡电路,容易发生频偏,影响遥控距离及操作。如欲对其进行检查或调整则需用频谱仪。频谱仪昂贵、笨重,仅适合于实验室使用。下面介绍的电路可检测AM频率超过900MHz,不但便宜,而且可制成掌上型,易于携带。   图1为一般AM遥控器发射之波形图(假设信号高电位为1,低电位为0),经载波调幅后由天线发射。   图2为频率计主要电路,由PIC16C54单片机控制计数。VCC为5V,可由12V或9V电池经7805稳压得到。接收天线用电路板上铜箔所形成的环形天线。R1、C1、R5用于调整接收灵敏度,一般来说灵敏度不需太高,以降低干扰的影响
[单片机]
PIC16C54单片机制作简易AM<font color='red'>频率</font>计
用STM32测量频率占空比的几种方法
由于我们当时的题目除了测量频率之外,更麻烦的是测量占空比。而这两个的测量方法联系比较紧密,所以也一并把测量占空比的方法写出来。 使用平台:官方STM32F429DISCOVERY开发板,180MHz的主频,定时器频率90MHz。 相关题目: (1)测量脉冲信号频率f_O,频率范围为10Hz~2MHz,测量误差的绝对值不大于0.1%。(15分) (2)测量脉冲信号占空比D,测量范围为10%~90%,测量误差的绝对值不大于2%。(15分) 思路一:外部中断 思路:这种方法是很容易想到的,而且对几乎所有MCU都适用(连51都可以)。方法也很简单,声明一个计数变量TIM_cnt,每次一个上升沿/下降沿就进入一次中断,对TIM_cn
[单片机]
用STM32测量<font color='red'>频率</font>和<font color='red'>占空比</font>的几种方法
超高速频率合成器方案的设计与实现
综合考虑各个方案的优缺点,采用了一种DDS加倍频链的合成方法,研制了105 跳/s的宽带超高速频率合成器。输出频率272.7~324.0 MHz,输出带宽51.3 MHz,可用频点256个。它选用DDS作为频率合成器核心器件,系统时钟高达300 MHz,频率分辨率1 μHz,100 M并口编程速率以及较高杂散抑制度。DDS的优良性能使超高速频率合成器研制成为可能。具体电路框图如图4所示。 该频率合成器由晶体振荡器、DDS、放大器、三倍频器、带通滤波器和控制电路等组成。根据设计要求,在方案中合理选择DDS输出频率和倍频滤波次数相当重要。选择正确的DDS输出频率,可以使DDS本身输出信号杂散最小。合理的倍频次数可以降低对滤波器的要求,将
[模拟电子]
超高速<font color='red'>频率</font>合成器方案的设计与实现
Stratix II FPGA系统电源设计
0 引言 Stratix II是ALTERA公司生产的一款高性能FPGA器件。它采用TSMC的90 nm低k绝缘工艺技术生产,等价逻辑单元(LE)高达180 k,嵌入式存储器容量达到9 MB。该器件不但具有极高的性能和密度,而且还针对器件总功率进行了优化,同时可以支持高达1 Gbps的高速差分I/O信号,因而是一款超快的FPGA。该芯片中所含的高性能嵌入式DSP块的运行频率高达370 MHz。另外Stratix II还有12个可编程PLL,并具有健全的时钟管理和频率合成能力。能实现最大的系统性能。 MAX1951是MAXIM公司的一款高效的DC-DC电源转换芯片,主要用于DSP、FPGA、ASIC的内核及I/O口供电。其高达9
[应用]
变频电机最低运行频率_变频电机能效等级标准划分
  变频电机最低运行频率   变频电机可以在多种不同的运转频率下作工,可以轻易实现用户在实际应用作工需要的变频调节作用,变频电机作工频率范围很大,因此很多用户对于变频电机的最低允许运转作工频率很好奇。今天这里就给家讲讲关于变频电机的最低允许的频率。和变频电机的作工频率的特点。   1、单单从理论上来说,变频电机的可以运行的最低运转频率为0Hz;   2、不同的变频电机允许的运行速度范围是不一样的,变频电机的运转频率规格有很多;   3、变频电机不同的变频规格的最低运行频率不同,,变频电机的最低运转频率和电机实际运转作工范围有关。   (1)一般变频电机可以支持它的运作频率当中的最低频的作工频率;   (2)简单来讲,如果变频电机的
[嵌入式]
配置STM32的PWM输出时没有波形输出的问题
以前在组织代码的时侯都是在初始化系统时钟时就一并初始化了各个外设,如 端口、定时器、串口等, 今天突发奇想,将各外设的初始化放到各外设的模块中去,这样的话没用到的外设就可以不用给时钟,降低能耗。 就这样问题出现了,PWM输出时没有波形输出。 反复检查对比了定时器的功能模块配置、输出IO的设置、RCC配置等,一直没有找到原因。 在准备放弃的时侯,有一搭没一搭的扫代码,突然一看,在设置输出IO代码之前没有给输出IO配置时钟,是在后配置的。 是不是这里的问题呢, 马上试试,果然。 这一记当头棒喝!! :) 所以, 在配置输出IO之前就要先配置IO时钟,谨记之!
[单片机]
STM32单片机简易定时器PWM输出
由于RCC- CFGR时钟配置寄存器中 APB1设置为2分频,所以TIM3就是其倍频==72M 上次我发表的STM32单片机自带PWM输出实验大家可以参考学习: http://www.51hei.com/mcu/2123.html ,这次是用定时器产生的pwm. //----------------------------------定时器-----------time.c----------- #include time.h void time_init(u16 arr,u16 psc) { RCC- APB1ENR|=1 1; //TIM2定时器时钟使能 TIM3- ARR=arr; //设置重装
[单片机]
STM32单片机简易定时器<font color='red'>PWM</font><font color='red'>输出</font>

推荐帖子

C型USB 1.2版——USB具有更广阔的市场
C型USB改变USB生态系统的一种重要途径是通过USB电缆两端互换(不只是翻动)。这使得诸如膝上型电脑或智能手机的USB设备取决于其所连接的其它USB装置具有不同的行为,因为数据角色和功率角色可独立交换。USB开发者论坛已经发布了C型USB1.2版本规格。其在1.1版本上做出几个关键变化,我将在此博文中总结,但最大的区别是用来描述这种新型USB生态系统的术语变化。您可能会说了C型USB术语通过此版本进行了“返工”。新的术语更好地解释了这一新型USB世界,旨在澄清并强调数据角色和功
maylove 模拟与混合信号
海康威视海外版球机不能用
我这边有几台从国外带回来的英文版海康威视球机,我想把它用上,但是在中文版的硬盘录像机上搜索不到设备,哪位大师能有办法解决吗?海康威视海外版球机不能用不能联系当地的海康售后客服吗?一般是默认的IP,你还记得吗,通过IP地址来找设备 一通折腾,现在提示语言不匹配,添加不了,不知道怎么解决了。
都梁小情歌 安防电子
51单片机实验班各模块的应用
我们老师设计的一块51实验开发板,很实用!对于单片机入门者非常有用。与大家分享!包括流水灯、数码管、液晶、蜂鸣器、键盘、AD转换等模块。51单片机实验班各模块的应用原帖由lk972105于2009-7-819:10发表我们老师设计的一块51实验开发板,很实用!对于单片机入门者非常有用。与大家分享!包括流水灯、数码管、液晶、蜂鸣器、键盘、AD转换等模块。 谢谢分享谢谢你的东西了阿其实这个资料真的挺好的,就是没有人支持!呵呵,大家认真看看哦……回复楼主lk972
lk972105 51单片机
PA2、PA3给怎样的信号,VOUT能输出50V左右的电压?而且波形可控(脉宽、频率、周期...
PA2、PA3给怎样的信号,VOUT能输出50V左右的电压?而且波形可控(脉宽、频率、周期、幅值等)VO1、VO2是差分信号?PA2、PA3给怎样的信号,VOUT能输出50V左右的电压?而且波形可控(脉宽、频率、周期...50V主要是你的升压部分提供的。输出取决于你的H桥驱动波形,可以直接PWM互补驱动,也可以SPWM拟合出需要的型。 驱动和输出控制能不能搞个参考电路或者连接发出来
QWE4562009 电源技术
求推荐一款便宜的射频发射器,频段415M~475M可变,价格<10元
用于做频率扫描源,发射功率不限,其他要求如题。感谢中!求推荐一款便宜的射频发射器,频段415M~475M可变,价格10元看你要求的精度和步进值,要求较高可用PLL频率合成器芯片,只是价格满足不了。用数字通讯芯片的话,silicon的si44xx中的一些型号可以覆盖你要求的频段,只是这些通讯用芯片没法连续扫频输出,也不知基带信号对你的应用有何影响。正弦波连续扫频输出的话,只有频率合成器芯片能实现。价格10元直接在对讲机频段都覆盖完了去里面拆一颗看看
wonderfulfly RF/无线
今天很烦,想找人说说话.路过的请进来坐坐...
当时进公司应聘VXWORKS软件开发的,进来后老板给了我一个挺棘手的项目----一个拖了客户一年半的项目,经过N个人的手,资料又不全的项目,当时也很迷茫,却又不想放弃,所以就坚持了下来,好在后来按老板的要求做好了,完成了.本以为这样就可以做有关VXWORKS的项目了,但是老板又安排我做WINDOWS下的界面开发,好,做就做吧----公司主要是做嵌入式开发的,所以没有人做WINDOWS下的开发.老板大概是知道我以前做过WINDOWS下的开发(第一个项目也是WINDOWS下的),所以就交给我
dcyeahnet 嵌入式系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved