3510|3

69

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

最近论坛比较安静,提个SD卡SPI编程的问题 [复制链接]

用SPI接口读写SD的一个512字节的sector,网上很多的例程都是通过while()等待的方式写或者读取连续的512字节。

 

这种方式显示没有使用到的FIFO的特性,在读取过程中,MCU啥事都干不了。

 

请问大家有没有用SPI 的FIFO中断去处理SD卡的读写呢?有的话请提供思路,讨论讨论。如果有用DMA的话也欢迎。移植基于FATFS。

最新回复

可以采用中断的方式,但好像每次要发至少4个字节才会进入中断。  详情 回复 发表于 2011-8-28 09:58
 
点赞 关注

回复
举报

131

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

回复 楼主 heich_tech 的帖子

应该用到fifo了吧,spi的fifo不能关闭。
 
 

回复

69

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
其实我想表述的意思是
大部分例程的SPI单字节收发函数是用SSIDataPut和 SSIDataGet两个阻塞型函数实现的,而非NonBlocking类型的。而收发block(512字节)的函数是通过Do-while结构调用SPI单字节收发函数,也是阻塞型的。

这种方法,尽管有FIFO,其实和没有FIFO没有多大区别,在收发512字节中间,MCU除了中断响应外不能做任何事,效率太低了。

有没有更好的结构?
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

4
 
可以采用中断的方式,但好像每次要发至少4个字节才会进入中断。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表