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

STM32H7的双缓冲

[复制链接]
Xa__ 提问时间:2026-4-28 15:20 / 未解决
HAL_DMAEx_MultiBufferStart_IT(
huart1.hdmatx,
(uint32_t)read_test1,
(uint32_t)&huart1.Instance->TDR,
(uint32_t)read_test2,
NAND_PAGE_SIZE);
__HAL_UART_ENABLE_IT(&huart1,UART_IT_TC);
SET_BIT(huart1.Instance -> CR3,USART_CR3_DMAT);

采用这个函数,现在一直重复发送数据,停止不下来

收藏 评论5 发布时间:2026-4-28 15:20

举报

5个回答
butterflyspring 回答时间:6 天前
这里有个大佬分享的经验,可以参照着做一下。


基于STM32H7 DMA 双缓冲实现SPI逐个数据输出
xmshao 回答时间:6 天前

如果使用DMA双缓冲模式,就是循环发送。

停下来的话 可以基于完成中断手动停下来。

Xa__ 回答时间:6 天前

xmshao 发表于 2026-4-28 16:46
如果使用DMA双缓冲模式,就是循环发送。</p>
<p>停下来的话 可以基于完成中断手动停下来。

[md]现在就是中断进不去了,一直在循环发送,所以请教一下看谁有实例,参考一下

背影101 回答时间:6 天前

butterflyspring 发表于 2026-4-28 16:09
这里有个大佬分享的经验,可以参照着做一下。</p>
<p>

也来学习学习

xmshao 回答时间:5 天前

Xa__ 发表于 2026-4-28 16:49</p>
<p>[md]现在就是中断进不去了,一直在循环发送,所以请教一下看谁有实例,参考一下

[md]哦,你可以参考下上面链接的文章,我都测试了的。

注意DMA中断都使能了。

我想起来了,关于DMA完成中断这个地方好像需要手动

操作下,就是回调函数那个地方,我在文章基于STM32H7 DMA 双缓冲实现SPI逐个数据输出也特意分享出来了。

所属标签

相似问题

官网相关资源

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