打印

紧急求助~~~~SD卡的fat32文件系统读BPB数据不正常~~~

[复制链接]
1888|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
li543117|  楼主 | 2008-9-15 13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做的SD卡的fat32文件系统,普通的正常读写没有任何问题,譬如利用欧冠测试数据写入到某个扇区,然后回读比较,结果均正常,读取硬件信息,结果正常,但是读取BPB数据就不正常:512BYTE的0扇区数据,前510全为0,理论上不正常,后面两位为0x55,0xaa,结果又正常。

我现在怀疑可能是我读取BPB扇区的位置不对,如果有哪位知道是在哪个位置读取的请指教一下~~

下面有读取BPB数据的程序,请大虾帮忙分析分析~~~

void fnSD_InitDrive(void)
{
    MMC_read_sector(0,buffers.currentsector.u8data);//在0扇区处读取BPB数据
    buffers.SectorCurrentlyLoaded=0xFFFFFFFF;
    
}

uint8_t MMC_read_sector(uint32_t addr,uint8_t *Buffer)
{
    uint8_t temp;
    uint32_t i;
    
    SPI_TransferByte(0xff);
    temp = Write_Command_MMC(MMC_READ_BLOCK,addr<<9);
    if(temp != 0x00)
    {
        return(READ_BLOCK_ERROR);
    }
    
    while(SPI_TransferByte(0xff) != 0xfe);
    
    for(i=0;i<512;i++)
    {
        *Buffer++ = SPI_TransferByte(0xff);
    }
    SPI_TransferByte(0xff);
    SPI_TransferByte(0xff);
    
    return (1);
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

52

帖子

0

粉丝