打印
[STM32F4]

在STM32F407上使用DMA给TIM2的CCR4写值

[复制链接]
182|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
classroom|  楼主 | 2023-12-11 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在STM32F407上使用DMA给TIM2的CCR4写值,输出固定个数PWM波个数时,遇见了CCR4的高位与低位同时被写入相同的值,如图所示
在DEBUG时可以看见CCR4的高16位与低16位同时被赋值了,但是在内存中,我只存了0x64,为什么会出现高位也出现0x64,导致没有波形产生。




使用特权

评论回复
沙发
probedog| | 2023-12-11 11:20 | 只看该作者
你的DMA写入操作是否正确

使用特权

评论回复
板凳
laocuo1142| | 2023-12-11 11:20 | 只看该作者
检查你的TIM2工作模式和极性设置

使用特权

评论回复
地板
laocuo1142| | 2023-12-11 11:21 | 只看该作者
如果ARR的值小于你通过DMA写入的CCR4的值,那么TIM2可能***不会触发更新事件。

使用特权

评论回复
5
香水城| | 2023-12-11 11:44 | 只看该作者
这点跟硬件架构有关,你做DMA配置时,源端和目的端的访问宽度配置为32位即可。

使用特权

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

本版积分规则

289

主题

1247

帖子

1

粉丝