你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

TIM DMA Request Source

[复制链接]
墨丘利 提问时间:2023-10-26 13:51 / 未解决

我有点疑惑

这个DMA Request 不是DMA的触发源吗,我想在TIM执行完一个周期后,DMA再行将数据写入CCR寄存器,那不是应该选择TIM_UP的DMA触发源吗,为什么没反应,反而选择TIM_CH1为触发源是正常的

收藏 评论2 发布时间:2023-10-26 13:51

举报

2个回答
xmshao 回答时间:2023-10-26 15:26:33
如果你使用库函数HAL_TIM_PWM_Start_DMA()来修改占空比的话,此处用到的DMA请求是比较事件,不是更新事件。
当然 我们可以基于更新事件触发DMA来修改占空比,你可以试着自己来组织代码。在CubeMx那边选择更新事件做DMA请求,
代码方面自己稍微调整就可以实现。
butterflyspring 回答时间:2023-10-26 16:05:10
换个角度考虑采一下,从时序上考虑一下这个问题:

1. 如果用更新事件触发,那么开启预装载功能更后,要再过一个周期才能加载上CCR的值,是不是太长了。
                                    那么不开启预装载功能,当CCR值很小时,有可能写完后计数器值已经大过CCR值了。

2. 采用通道的比较事件,则使用预装载功能后,就很好的解决了上面的问题,或者说避免了大部分范围的风险。


所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版