硬汉嵌入式论坛

 找回密码
 立即注册
查看: 512|回复: 3
收起左侧

SPI DMA发送问题

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2023-10-25 16:08:50 | 显示全部楼层 |阅读模式
硬汉哥:我在学习您 SPI DMA发送代码的时候有个问题  
调用HAL_SPI_TransmitReceive_DMA()后,这个函数很快直接返回,
但是您后面while(wTransferState == TRANSFER_WAIT){;},
这条语句等待发送完成后才会执行其他代码,这样的话代码执行时间算下来和查询方式差不多啊,如果SPI的DMA一次性传输了4000个字节,那么在传输这4000个字节的过程中,CPU是不是就执行不了中断以外的其他代码了呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-10-25 16:39:31 | 显示全部楼层
此贴深入探讨了这个问题

【深入探讨】DMA到底能不能起到加速程序执行的作用,DMA死等操作是否合理,多个DMA数据流同时刷是否处理过来
https://www.armbbs.cn/forum.php? ... 9765&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2023-10-25 17:17:59 | 显示全部楼层
没想到硬汉哥回复这么快,仔细阅读了您发的帖子链接,疑问瞬间都都消除了,而且把关于FREERTOS的SPI这类外设驱动的效率问题也有些眉目了,感谢感谢!!!
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2023-10-25 17:19:15 | 显示全部楼层
eric2013 发表于 2023-10-25 16:39
此贴深入探讨了这个问题

【深入探讨】DMA到底能不能起到加速程序执行的作用,DMA死等操作是否合理,多个 ...

感谢硬汉哥的回复,受我一拜!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 20:13 , Processed in 0.163841 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表