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

STM32H743定时器触发DMA采集GPIO口的状态

[复制链接]
水禾 提问时间:2023-11-15 20:14 / 未解决

使用STM32H7做的项目,想要用定时器的溢出事件,触发DMA将GPIO的状态传输到内存上。

使用HAL_DMA_Start_IT,但是DMA是以最快的速度传输,并不受定时器周期控制。

想知道具体要怎么使用。

收藏 评论4 发布时间:2023-11-15 20:14

举报

4个回答
xmshao 回答时间:2023-11-16 09:51:55
如果你开启了D-Cache的话,建议先关闭它后再行测试。如果还不行,就重点检查下DMA配置方面的问题。测试时建议把TIMER触发频率放低点,
看到效果后再尝试慢慢调高。当然,高也是有极限的。
水禾 回答时间:2023-11-16 15:39:10

xmshao 发表于 2023-11-16 09:51
如果你开启了D-Cache的话,建议先关闭它后再行测试。如果还不行,就重点检查下DMA配置方面的问题。测试时建 ...

我用的是STM32CubeIDE配置的,想看有没有实际的案例,好进行对照。

xmshao 回答时间:2023-11-16 17:30:25

水禾 发表于 2023-11-16 15:39
我用的是STM32CubeIDE配置的,想看有没有实际的案例,好进行对照。

我刚好之前有基于H7的BDMA实现过GPIO与内存间的数据传输,你可以参考下。当然不是一定要用BDMA。

《STM32H7 BDMA应用示例》

STM32H7 BDMA应用示例 (qq.com)

xmshao 回答时间:2023-11-16 17:31:55
这样吧,我之前有做个基于H7系列的 BDMA的实现内存GPIO的数据传输,你可以参考下。当然这里也不是一定要用BDMA,通用DMA应该可以的。有篇文章《STM32H7 BDMA应用示例》你可以参考下。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版