STM32
直播中

刘满贵

7年用户 1469经验值
私信 关注
[问答]

SD_ReadSingleBlock函数读取出错

本人通过原子的SD_ReadSingleBlock(u32 sector, u8 *buffer)来读取SD卡的MBR信息,但是通过调试发现,读出来的数据跟winhex读到的数据只有一部分相同,截图如下:
可以发现在0x95处出现了错误~,而且我根据第0扇区中DBR偏移量找到了DBR所在扇区,但是我通过读扇区函数读取了DBR扇区数据,发现一个都不正确,而且除第0扇区部分相同外其他任何扇区都无法正确读取。
2G SD MBR (winhex)



debug得到的截图如下 :



程序基本上沿用原子的。。。基本。。。但是为什么会出现这样的问题?大家有木有遇见相近的问题。。。。

回帖(1)

陈茗卓

2019-2-25 09:58:04
应该不会有问题的.如果读出来只要不全是0XFF或者0X00,就不会有问题.
下面是我读到的数据:
这是单片机发回来的,0扇区数据:
fa 33 c0 8e d0 bc 0  7c 8b f4 50 7  50 1f fb fc
bf 0  6  b9 0  1  f2 a5 ea 1d 6  0  0  be be 7
b3 4  80 3c 80 74 e  80 3c 0  75 1c 83 c6 10 fe
cb 75 ef cd 18 8b 14 8b 4c 2  8b ee 83 c6 10 fe
cb 74 1a 80 3c 0  7  4  f4 be 8b 6  ac 3c 0  74
b  56 bb 7  0  b4 e  cd 10 5e eb f0 eb fe bf 5
0  bb 0  7c b8 1  2  57 cd 13 5f 73 c  33 c0 cd
13 4f 75 ed be a3 6  eb d3 be c2 6  bf fe 7d 81
3d 55 aa 75 c7 8b f5 ea 0 7c  0  0  49 6e 76 61
6c 69 64 20 70 61 72 74 69 74 69 6f 6e 20 74 61 62 6c 65 0 45 72 72 6f 72 20 6c 6f 61 64 69 6e 67 20 6f 70
65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0 4d 69 73 73 69 6e 67 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73
74 65 6d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 1 b 7f ff bf 0 20 0 0 0 0 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 aa
下面是 winhex读到的数据:


 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分