用51单片机对SD卡通过SPI方式 *** 作,怎样查看SD卡的剩余空间

用51单片机对SD卡通过SPI方式 *** 作,怎样查看SD卡的剩余空间,第1张

发送命令CMD9、CMD10可以接收sd卡的CSD和CID信息。

而卡特性寄存器——CSD(card specific data register)中[73:62]位置

表示device size ,该寄存器就是SD的大小。

但是剩余空间。这跟你SD卡使用什么格式 ,FAT。FAT32,exFAT。

通过这些文件格式才能知道你使用多少空间,然后剩余空间才能有。

不信你可以试下一张没有经过格式化的SD卡,文件格式显示RAW。只能显示SD大小,而没有使用空间和剩余空间。

你想要的程序在51单片机的SD卡上运行,然后让51单片机读取和执行?难! ! !除非你的单片机的bootloader,程序从SD卡读出并烧写到单片机的ROM,跳转到PC值= 0x0000开始执行此过程。

如果你的程序中包含了大量的数据(而不是运行的代码),如显示。然后分离出来的时候,程序上运行的SD卡上的数据时,从表演或如何做的SD读出。例如,让液晶显示器中国文字需要存储HZK16有260KB,51单片机64K是绝对合适的,所以SD卡或AT45DB161上,单片机程序只需要计算中国文字的偏移量,从SD卡或相应的LCD AT45DB161里的地址读取就可以了。

首先SD一般有两种接口协议,SPI和SDIO

如果你单片机没有SDIO那就用SPI好了,SPI用硬件的或者软件模拟都可以,然后调用SPI发送和接收函数写SD的驱动,写完之后SD卡就可以类似于EEPROM来用了,但是注意,这时候的SD卡是没有“文件”这个概念的,EEPROM也没有嘛,如果想读取SD中的文件那还需要移植文件系统,比如fatfs,移植成功后你就可以用类似于fopen之类的函数啦~驱动方面可以参考原子哥

《STM32不完全》手册的SD卡 *** 作的相关内容,文件系统移植嘛,单片机强一点推荐用fatfs,弱一点的用Petit

FAT,曾经在STC

1T的51单片机上使用Petit

FAT文件系统读取bmp图像并在彩屏上显示,一分钟刷了一幅图,罪孽啊!!实在无聊

“从地址0x00000开始读出数据并传给AD557芯片DA转换成模拟量输出,一直读到0xfffff 读满一轮。”

60秒内读取并写出1MByte,平均57us读取并写出一次。如果CPU晶振12MHz的话,那这个要求是比较容易达到了。

只要你懂得如何对外部存储器读取、写出,那么完全可以独立完成这道题并符合要求。需要注意的是这个原理图中573的LE没有借助ALE而是通过P12实现,降低了效率;此外外部空间映射成多页,页切换时注意语句的编译效率。

至于“越快越好”,最快效果需借助汇编实现。提示:INC DPTR。

以上就是关于用51单片机对SD卡通过SPI方式 *** 作,怎样查看SD卡的剩余空间全部的内容,包括:用51单片机对SD卡通过SPI方式 *** 作,怎样查看SD卡的剩余空间、单片机怎么向sd卡里写数据啊、单片机怎么用sd卡等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10052900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存