OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3789|回复: 0

STM32F429通过SDIO读取TF卡的数据部分卡老是错误。

[复制链接]

32

主题

190

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1184
金钱
1184
注册时间
2013-4-3
在线时间
222 小时
发表于 2018-6-22 10:44:10 | 显示全部楼层 |阅读模式
用原子哥的SDIO驱动和移植的文件系统fatfs在读取TF文件时老是错误//读扇区//pdrv:磁盘编号0~9
//*buff:数据接收缓冲首地址
//sector:扇区地址
//count:需要读取的扇区数
DRESULT disk_read (
        BYTE pdrv,                /* Physical drive nmuber to identify the drive */
        BYTE *buff,                /* Data buffer to store read data */
        DWORD sector,        /* Sector address in LBA */
        UINT count                /* Number of sectors to read */
)
{
        u8 res=0;
    if (!count)return RES_PARERR;//count不能等于0,否则返回参数错误                          
        switch(pdrv)
        {
                case SD_CARD://SD卡
                        res=SD_ReadDisk(buff,sector,count);         
                        while(res)//读出错
                        {
                                SD_Init();        //重新初始化SD卡
                                res=SD_ReadDisk(buff,sector,count);       
                                //printf("sd rd error:%d\r\n",res);
                        }
                        break;
.
.
.
.
     }
}
部分TF卡会一直在这个while(res)里面。再重新初始化TF卡是poweron函数一直返回SD_INVALID_VOLTRANGE; 但是在上电的时候初始化TF卡是正常的,在程序运行时热插拔也能正常识别和正确初始化
就是在加上文件系统后读写文件时部分卡就不能正常工作了,这些TF卡都能在电脑上正常读写。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 03:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表