ST意法半导体
登录
直播中
向日葵的花季
8年用户
1225经验值
擅长:电源/新能源
私信
关注
[问答]
我如何计算寄存器生成的脉冲并在som脉冲后停止生成呢?
开启该帖子的消息推送
STM32F4
步进电机
PWM信号
我正在使用
STM32
F446 控制步进电机,并希望生成具有可变频率(梯形)的 PWM 并在一些指定的 (n) 脉冲后停止它。我想用寄存器编程而不是 HAL 函数来做到这一点。所以我想知道以下三个步骤:
如何使用寄存器生成 PWM 脉冲?
我怎样才能改变它的频率?
我如何计算生成的脉冲并在 som 脉冲后停止生成?
有人可以帮我注册编程吗?
回帖
(1)
刘峰
2023-1-4 16:40:08
首先阅读 RM 中的 TIM 章节。第一次阅读时不会很清楚,所以重复直到开始更清楚一点。
设置所需的引脚 - 在 RCC 中启用 GPIO 时钟,然后在给定的 GPIO 中设置 GPIOx_MODER 中的相应位,以便将引脚设置为 AF,并根据数据表中的表格在 AFR[] 中设置正确的 AF。设置定时器运行,即在RCC 中启用其时钟,将TIMx_ARR 设置为您想要的周期并通过设置TIMx_CR1.CEN=1 启用定时器运行。对于给定通道,在 TIMx_CCMRx.OCxM 中设置一种 PWM 模式,通过将相应的 TIMx_CCRx 设置为 0 和 ARR 之间的值来设置占空比,并在 TIMx_CCER 中启用给定通道。如果是 TIM1 或 TIM8,设置 TIMx_BDTR.MOE。
通过改变 TIMx_ARR。如果您想即时执行此操作,则应通过设置 TIMx_CR1.ARPE 来启用 ARR 预加载。
有几种方法可以做到这一点,但它有点棘手,您应该在管理基本 PWM 操作之前保留它。
首先阅读 RM 中的 TIM 章节。第一次阅读时不会很清楚,所以重复直到开始更清楚一点。
设置所需的引脚 - 在 RCC 中启用 GPIO 时钟,然后在给定的 GPIO 中设置 GPIOx_MODER 中的相应位,以便将引脚设置为 AF,并根据数据表中的表格在 AFR[] 中设置正确的 AF。设置定时器运行,即在RCC 中启用其时钟,将TIMx_ARR 设置为您想要的周期并通过设置TIMx_CR1.CEN=1 启用定时器运行。对于给定通道,在 TIMx_CCMRx.OCxM 中设置一种 PWM 模式,通过将相应的 TIMx_CCRx 设置为 0 和 ARR 之间的值来设置占空比,并在 TIMx_CCER 中启用给定通道。如果是 TIM1 或 TIM8,设置 TIMx_BDTR.MOE。
通过改变 TIMx_ARR。如果您想即时执行此操作,则应通过设置 TIMx_CR1.ARPE 来启用 ARR 预加载。
有几种方法可以做到这一点,但它有点棘手,您应该在管理基本 PWM 操作之前保留它。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32F4
步进电机
PWM信号
请问如何
生成
高到低
脉冲
来
停止
计时
器
2019-09-04
1124
ecap
生成
的PWM
脉冲
2019-07-27
8991
还有什么比仅使用HAL输出一个正定时
器
脉冲
更简单的
呢
?
2022-12-02
228
请教关于LABVIEW DAQ
脉冲
生成
功能的问题
2016-06-20
7159
请问如何
生成
可重复的单
脉冲
波形?
2022-12-26
263
为什么GPIO引脚上获得的
脉冲
与在sysgen中
生成
的
脉冲
不匹配?
2019-10-24
1789
如何用软件
生成
脉冲
信号?
2014-12-11
6544
怎样使用CubeMx触发定时
器
进而
生成
一个具有设定宽度的单
脉冲
呢
?
2023-01-06
139
关于服从特定分布的
脉冲
生成
与显示
2017-03-06
6403
在所需的
脉冲
量
后
停止
PWM,无需中断每个
脉冲
2020-04-17
1859
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分