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

请教下,TIM_PWM+DMA,输出三个不同占空比的单脉冲,为啥第三个数据总是第一个输出?

[复制链接]
celeron 提问时间:2021-6-29 00:47 / 未解决
使用TIM_PWM + DMA,DMA传输长度为3,即顺序输出3个不同占空比的单脉冲(10%,20%,50%),三个脉冲输出完成后进入DMA传输完成中断,关闭定时器。通过抓图形发现,实际输出是50%,10%,20%,请问这是为什么?
收藏 评论5 发布时间:2021-6-29 00:47

举报

5个回答
小小超 回答时间:2021-6-29 09:10:01
是不是定时器关闭的太早了?波形还没产生,就关闭定时器?
xmshao 回答时间:2021-6-29 10:47:38
你离成功不远了。这里提醒两点,第一点是定时器的预装问题,到底开了还是没开。开了,ARR/CCR值得更新需藉助更新事件,不开,即改即生效。第二点,DMA的触发事件及时机选取。当然,这两点往往有关联。你好好确认下。

celeron 回答时间:2021-6-29 17:25:21
小小超 发表于 2021-6-29 09:10
是不是定时器关闭的太早了?波形还没产生,就关闭定时器?

应该不是这样的,假设是,那也是最后一个脉冲50%不正常而已,而现在不管输出数据多长,最后一个脉冲都会在第一个输出,且奇怪的是输出总数还是对啊。感谢回答。
celeron 回答时间:2021-6-29 17:26:06
xmshao 发表于 2021-6-29 10:47
你离成功不远了。这里提醒两点,第一点是定时器的预装问题,到底开了还是没开。开了,ARR/CCR值得更新需藉 ...

好的,这两点我再仔细研究下,感谢提醒。
灰泥鳅 回答时间:2021-6-29 19:06:51
个人建议你把问题相关的代码贴出来比较合适,配合波形更佳,像这种问题现象的描述有时候并不是自然语言能够讲清楚的。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版