SPI+DMA方式驱动SD卡

SPI+DMA方式驱动SD卡使用DMA方式传送数据可以提高传送速度,提高CPU的使用效率。程序的核心部分就是将之前需要CPU搬运大量数据的地方换成DMA的方式实现。

大家好,欢迎来到IT知识分享网。

使用DMA方式传送数据可以提高传送速度,提高CPU的使用效率。程序的核心部分就是将之前需要CPU搬运大量数据的地方换成DMA的方式实现。战舰开发板上配套的程序修上改修如下:

1.void SD_SPI_Init(void);函数

SPI+DMA方式驱动SD卡

2.u8 SD_RecvData(u8*buf,u16 len);////从sd卡读取一个数据包的内容。

SPI+DMA方式驱动SD卡

3.u8 SD_SendBlock(u8*buf,u8 cmd);//向sd卡写入一个数据包的内容 512字节。

SPI+DMA方式驱动SD卡

4.上面涉及到的3个与DMA有关的函数都放在了dma.c文件中,直接添加到工程中即可。

换成DMA方式后究竟速度能提高多少?复制同一个文件:

无DMA模式

SPI+DMA方式驱动SD卡

有MDA模式

SPI+DMA方式驱动SD卡

复制不同的文件速度会有不同,反正就是使用DMA方式速度能够提高好多好多。大家可以尝试显示一张JPG、BMP图片,效果会很明显(本人已验证过)。需要源码原工程请私信!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/50622.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信