yan4080310 发表于 2023-10-25 16:08:50

SPI DMA发送问题

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

eric2013 发表于 2023-10-25 16:39:31

此贴深入探讨了这个问题

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

yan4080310 发表于 2023-10-25 17:17:59

没想到硬汉哥回复这么快,仔细阅读了您发的帖子链接,疑问瞬间都都消除了,而且把关于FREERTOS的SPI这类外设驱动的效率问题也有些眉目了,感谢感谢!!!:loveliness:

yan4080310 发表于 2023-10-25 17:19:15

eric2013 发表于 2023-10-25 16:39
此贴深入探讨了这个问题

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

感谢硬汉哥的回复,受我一拜!
页: [1]
查看完整版本: SPI DMA发送问题