打印

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

[复制链接]
1418|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
li543117|  楼主 | 2008-9-15 13:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做的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);
}

相关帖子

沙发
yxwsz| | 2008-9-16 00:12 | 只看该作者

re

用spi模式读取SD的FAT文件系统,还是去移植sourceforge上的efsl(embedded file system library)吧;
早就做好的了,支持fat16, fat32

使用特权

评论回复
板凳
ahong007| | 2008-9-16 17:56 | 只看该作者

请教大虾,能在汇编中调用C实现FAT32文件系统吗

我现在编写的一个主函数已经实现功能,现在想把FAT32文件系统加上去

使用特权

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

本版积分规则

32

主题

52

帖子

0

粉丝