GD32F303CGT6用SPI-DMA接收数据卡死!!!

[复制链接]
 楼主| ml12138 发表于 2025-3-17 17:37 | 显示全部楼层 |阅读模式
使用SPI协议通过DMA通道接收数据时一直卡在
while (dma_flag_get(DMA0, DMA_CH1, DMA_FLAG_FTF)==RESET);
江湖救急!!!
可以发源码
 楼主| ml12138 发表于 2025-3-17 17:40 | 显示全部楼层
这个芯片是作为从机,接收来自相同芯片的主机发送过来的数据,此芯片只有一个SPI0——DMA0接收程序
在线等,急!!!!!!
flycamelaaa 发表于 2025-3-18 16:19 | 显示全部楼层
检查DMA和SPI配置是否有误。
duo点 发表于 2025-3-18 16:23 | 显示全部楼层
硬件问题
powerantone 发表于 2025-3-18 18:00 | 显示全部楼层
考虑使用DMA中断而不是轮询来检测传输完成。配置DMA中断可以使CPU在等待DMA完成时不被阻塞,提高效率。
在DMA初始化时启用传输完成中断,并在中断服务例程中处理数据。
probedog 发表于 2025-3-18 19:00 | 显示全部楼层
检查是否有代码或硬件事件禁用了DMA请求。
stormwind123 发表于 2025-3-18 21:00 | 显示全部楼层
用DMA_FLAG_TC来检测整个DMA传输是否完成。
classroom 发表于 2025-3-18 22:00 | 显示全部楼层
检查SPI总线上的硬件连接,包括MISO、MOSI、SCK和CS信号线的连接是否正确。
xionghaoyun 发表于 2025-3-19 08:52 | 显示全部楼层
是不是没清除标志位
 楼主| ml12138 发表于 2025-3-20 17:04 | 显示全部楼层
问题已解决,是配置出了问题,感谢大家的回复
FranklinUNK 发表于 2025-3-20 21:42 来自手机 | 显示全部楼层
DMA有问题吗
wh13651 发表于 2025-4-29 16:49 | 显示全部楼层
ml12138 发表于 2025-3-20 17:04
问题已解决,是配置出了问题,感谢大家的回复

请问是哪个地方配置有问题,我目前使用I2S配合DMA时也卡死在这里
撸代码的蟹老板 发表于 2025-6-26 18:55 | 显示全部楼层
ml12138 发表于 2025-3-20 17:04
问题已解决,是配置出了问题,感谢大家的回复

怎么解决的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部