修正程序中的一处小错误:
Usbcore.c中,
pSendData=(uint8)DeviceDescriptor; //需要发送的数据
强制转换漏掉一个“*”号,应该修改为
pSendData=(uint8 *)DeviceDescriptor; //需要发送的数据
单击此处下载本实验包:http://bbs.21ic.com/upfiles/img/20094/2009411142312398.rar
下载地址2:https://static.assets-stash.eet-china.com/album/old-resources/2009/4/11/72b0ee8f-2ca9-4696-b272-7cd342608caa.rar
本程序使用AT91SAM7S64自带的SPI接口读写SD卡,SPI时钟设置为24MHz。
写入速度大约为313KB/s,读出速度大约为272KB/s。
程序中没有开启DMA传输,如果开启DMA传输,并使用两个缓冲区轮流操作的话,速度应该会有所提高。
另外圈圈想发一下牢骚的是,那个官方的SD卡协议真是TMD又长又臭啊,长一点倒算了,又没逻辑性,
写得比较混乱,该清楚的地方交代得不够清楚,不该说的地方又是一堆罗嗦,小日本的文档就是这样的?
还好,网上有一些稍微简洁的介绍,让人有一个全局的概念。另外它的命令命名也真是奇怪,居然
直接用编号来命名的,我晕,这样鬼记得这个命令是干啥用的……为了简单起见,这个程序并没有
启用CRC校验,也没有对写入出错的处理,希望有空的朋友继续完善它吧。
图为圈圈使用的32MB SD卡的实验测试结果:
computer00 2011-5-18 22:02
用户327070 2011-5-10 22:28
computer00 2010-12-28 11:45
用户265975 2010-12-1 19:33
computer00 2009-4-9 23:49
用户163120 2009-4-9 21:47