基于单片机的sd卡技术内容摘要:

6字节 成功返回 0 // unsigned char Read_CID_SD(unsigned char *Buffer) { //读取 CID寄存器的命令 unsigned char CMD[] = {0x4A,0x00,0x00,0x00,0x00,0xFF}。 unsigned char temp。 temp=SD_Read_Block(CMD,Buffer,16)。 //read 16 bytes return(temp)。 } 4) 读取 CSD CSD( CardSpecific Data)寄存器提供了读写 SD卡的一些信息。 其中的一些单元可以由用户重新编程。 具体的 CSD结构如下: 名称 域 数据宽度 单元类型 CSD划分 CSD结构 CSD_STRUCTURE 2 R [127:126] 保留 6 R [125:120] 数据读取时间 1 TAAC 8 R [119:112] 数据在 CLK 周期内读取时间 2( NSAC*100) NSAC 8 R [111:104] 最大数据传输率 TRAN_SPEED 8 R [103:96] 卡命令集合 CCC 12 R [95:84] 最大读取数据块长 READ_BL_LEN 4 R [83:80] 允许读的部分块 READ_BL_PARTIAL 1 R [79:79] 非线写块 WRITE_BLK_MISALIGN 1 R [78:78] 非线读块 READ_BLK_MISALIGN 1 R [77:77] DSR条件 DSR_IMP 1 R [76:76] 保留 2 R [75:74] 设备容量 C_SIZE 12 R [73:62] 最大读取电流 @VDD min VDD_R_CURR_MIN 3 R [61:59] 最大读取电流 @VDD max VDD_R_CURR_MAX 3 R [58:56] 最大写电 流 @VDD min VDD_W_CURR_MIN 3 R [55:53] 最大写电流 @VDD max VDD_W_CURR_MAX 3 R [52:50] 设备容量乘子 C_SIZE_MULT 3 R [49:47] 擦除单块使能 ERASE_BLK_EN 1 R [46:46] 擦除扇区大小 SECTOR_SIZE 7 R [45:39] 写保护群大小 WP_GRP_SIZE 7 R [38:32] 写保护群使能 WP_GRP_ENABLE 1 R [31:31] 保留 2 R [30:29] 写速度因子 R2W_FACTOR 3 R [28:26] 最大写数据块长度 WRITE_BL_LEN 4 R [25:22] 允许写的部分部 WRITE_BL_PARTIAL 1 R [21:21] 保留 5 R [20:16] 文件系统群 FILE_OFRMAT_GRP 1 R/W [15:15] 拷贝标志 COPY 1 R/W [14:14] 永久写保护 PERM_WRITE_PROTECT 1 R/W [13:13] 暂时写保护 TMP_WRITE_PROTECT 1 R/W [12:12] 文件系统 FIL_FORMAT 2 R/W [11:10] 保留 2 R/W [9:8] CRC CRC 7 R/W [7:1] 未用,始终为 1 1 [0:0] 读取 CSD 的时序: 相应的程序例程如下: // 读 SD卡的 CSD寄存器 共 16字节 返回 0说明读取成功 // unsigned char Read_CSD_SD(unsigned char *Buffer) { //读取 CSD寄存器的命令 unsigned char CMD[] = {0x49,0x00,0x00,0x00,0x00,0xFF}。 unsigned char temp。 temp=SD_Read_Block(CMD,Buffer,16)。 //read 16 bytes return(temp)。 } 4) 读取 SD卡信息 综合上面对 CID与 CSD寄存器的读取,可以知道很多关于 SD卡的信息,以下程序可以获取这些信息。 如下: //。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。