SD读取中,SD_ReadBlocka其参数的地址是物理扇区地址吗?

2019-07-20 22:34发布

今天在弄SD卡读取实验的时候,首先实验的是读取扇区0,串口打印出来的数据跟我用winhex查看到的数据是一样的,然后我在SD卡中建立了一个txt文档,通过winhex查到其在物理扇区40968,逻辑扇区32776(如图),但是在把(32776-1)做参数传递时读取的数据跟winhex查看到的不一样,当把40968做参数传递时,读取到的数据跟winhex查看到的就一样了;
请教下各位如果直接对SD进行读取操作是不是只能通过物理扇区地址寻址?SD应该又有DBR分区,为什么不能通过逻辑地址寻址?
如果引入FATS后,对于我们应用来说只用关心路径,通过f_open进行操作,那么FATS对SD卡的寻址操作时物理扇区寻址还是逻辑扇区寻址?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
adlu
1楼-- · 2019-07-21 01:30
FATFS函数使用的都是逻辑扇区,物理扇区操作是底层驱动的事。
hbyue
2楼-- · 2019-07-21 05:42
我调试SD卡时,遇到同样的问题,用的8G卡,不用文件系统,SD_ReadBlock的参数是物理扇区地址,起始物理扇区0至0x1200h都是卡的引导区,不能写入用户数据。

一周热门 更多>