打印
[技术问答]

pwm如何在程序运行中调节频率啊?

[复制链接]
1079|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Stahan|  楼主 | 2024-3-21 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前用st时候有专门的宏

使用特权

评论回复
沙发
classroom| | 2024-3-21 17:25 | 只看该作者
在程序运行中调节PWM频率,你需要访问并修改控制PWM输出的相关寄存器或变量。

使用特权

评论回复
板凳
jasontu| | 2024-3-22 09:13 | 只看该作者
新唐的MCU也有提供BSP去操作调节PWM频率

使用特权

评论回复
地板
呐咯密密| | 2024-3-22 15:38 | 只看该作者
选择定时器:

根据您的微控制器资源,选择一个具备PWM功能的定时器。
配置定时器:

设置定时器的工作模式为PWM模式。
定义PWM的通道(根据硬件连接情况选择对应引脚对应的定时器通道)。
设置自动重载寄存器(ARR):

定时器的自动重载寄存器(Auto-Reload Register, ARR)决定了PWM的周期长度。定时器计数到ARR值后会重新从0开始计数,因此PWM的频率可以通过ARR的值来设置,即 fPWM = f_clk / (Prescaler * ARR),其中 f_clk 是定时器的输入时钟频率,Prescaler是预分频系数。
配置预分频器(PSC):

预分频器可以降低定时器的输入时钟频率,进一步调节PWM的频率。
更新占空比:

若要改变PWM信号的占空比(即ON时间和OFF时间的比例,影响输出电压或电流的有效值),则需要设置比较匹配寄存器(Capture/Compare Register, CCR),其值与ARR配合决定占空比。
动态调整频率和占空比:

在运行时,只需重新向ARR和CCR寄存器写入新的值即可动态调整PWM的频率和占空比。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

2155

帖子

0

粉丝