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

stm32f103 HAL+TIM%PWM+DMA精确输出PWM脉冲个数(通用定时器)求助

[复制链接]
rydy 提问时间:2018-6-27 11:08 /
1,DMA设置为循环模式,发送70000个PWM脉冲,第一次DMA发送65535(DMA一次不超过65535),第二次DMA发送4465(第一次DMA发送完成中断服务函数中调用第二次DMA发送)。
问题:第一次DMA发送正常,第二次DMA实际发送65535个,并非是4465个。
2,DMA设置为单次模式,发送70000个PWM脉冲,第一次DMA发送65535(DMA一次不超过65535),第二次DMA发送4465(第一次DMA发送完成中断服务函数中调用第二次DMA发送)。
问题:第二次DMA发送后一直没有进入DMA发送中断函数。
参考DMA发送函数:HAL_TIM_PWM_Start_DMA

收藏 评论7 发布时间:2018-6-27 11:08

举报

7个回答
wenyangzeng 回答时间:2018-6-27 11:18:43
除非你每次都重新配置DMA,否则,第一次配置为65535,第二次当然也要到DMA计数满才中断。
建议将70000平均分为35000配置给DMA

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

rydy 回答时间:2018-6-27 11:26:09
wenyangzeng 发表于 2018-6-27 11:18
除非你每次都重新配置DMA,否则,第一次配置为65535,第二次当然也要到DMA计数满才中断。
建议将70000平均 ...

第一次配置65535,第一次DMA完成中断服务函数里面重新使用DMA发送剩下的数据(第一次与第二次除了发送个数不一样,其他DMA配置都一样,重新配置是重新调用DMA配置相关函数吗?),谢谢
wenyangzeng 回答时间:2018-6-27 13:17:51
rydy 发表于 2018-6-27 11:26
第一次配置65535,第一次DMA完成中断服务函数里面重新使用DMA发送剩下的数据(第一次与第二次除了发送个 ...

既然配置为65535,当然就一直到65535才中断。
楼主真的应该配置成35000,中断2次较合理。
rydy 回答时间:2018-6-27 14:16:17
wenyangzeng 发表于 2018-6-27 13:17
既然配置为65535,当然就一直到65535才中断。
楼主真的应该配置成35000,中断2次较合理。 ...

我可能没有描述清楚,我发70000个PWM肯定需要两次中断,只是第一次中断完成后继续发送下次数据存在问题,配置城35000也存在一样问题。
wenyangzeng 回答时间:2018-6-27 17:01:26
rydy 发表于 2018-6-27 14:16
我可能没有描述清楚,我发70000个PWM肯定需要两次中断,只是第一次中断完成后继续发送下次数据存在问题, ...

既然配置为65535时:第一次DMA发送正常,第二次DMA实际发送65535个。那就是说如果配置35000时一定是到35000就中断了,刚好也是2次中断,你说的“只是第一次中断完成后继续发送下次数据存在问题”是指什么问题?可以检查一下数据缓冲区的设置是否正确。
rydy 回答时间:2018-6-27 17:49:47
wenyangzeng 发表于 2018-6-27 17:01
既然配置为65535时:第一次DMA发送正常,第二次DMA实际发送65535个。那就是说如果配置35000时一定是到350 ...

第二次不管发送多少(小于65535时,包括35000),实际都会发送65535个才会进入发送中断。第二次中断肯定重新配置了。
rydy 回答时间:2018-7-13 15:55:03
rydy 发表于 2018-6-27 17:49
第二次不管发送多少(小于65535时,包括35000),实际都会发送65535个才会进入发送中断。第二次中断肯定 ...

感谢,已解决,使用普通TIM + DMA + HAL精确脉冲个数输出时,在DMA中断服务函数中如果继续使用DMA方式发送,需要先调用HAL提供相关中断服务函数处理,然后进行DMA发送。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2 结帖奖励

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版