OpenEdv-开源电子网

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

请问一下怎能删除SD卡某一个文件夹里的文件 res=f_mkfs("0:",1,32768)这个是直接格式化SD卡的

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-3-13
在线时间
5 小时
发表于 2020-3-25 15:03:14 | 显示全部楼层 |阅读模式
2金钱
请问一下怎能删除SD卡某一个文件夹里的文件
res=f_mkfs("0:",1,32768)这个是直接格式化SD卡的

最佳答案

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

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3625
金钱
3625
注册时间
2019-8-14
在线时间
1054 小时
发表于 2020-3-25 15:03:15 | 显示全部楼层
回复

使用道具 举报

40

主题

137

帖子

0

精华

高级会员

Rank: 4

积分
579
金钱
579
注册时间
2019-8-4
在线时间
187 小时
发表于 2020-3-28 14:40:59 | 显示全部楼层
本帖最后由 taomao 于 2020-3-28 14:43 编辑

8 SD_WriteDisk(u8*buf,u32 sector,u8 cnt)
{
        u8 sta=SD_OK;
        u8 n;
        long long lsector=sector;
        //扇区地址变为字节地址。<<9位,相当于*512
        lsector<<=9;
        //确保缓存地址字节对齐,否则走御用通道
        if((u32)buf%4!=0)
        {
                 for(n=0;n<cnt;n++)
                {
                        memcpy(SDIO_DATA_BUFFER,buf,512);
                         sta=SD_WriteBlock(SDIO_DATA_BUFFER,lsector+512*n,512);//单个sector的写操作
                        buf+=512;
                }
        }else
        {
                if(cnt==1)sta=SD_WriteBlock(buf,lsector,512);            //单个sector的写操作
                else sta=SD_WriteMultiBlocks(buf,lsector,512,cnt);        //多个sector  
        }
        return sta;
}



lsector<<=9;
这里lsector定义的是long long类型,下面传入的add却是u32类型,这样可以吗
SDIO_CmdInitStructure.SDIO_Argument = addr;//发送CMD24,写单块指令,短响应         
SDIO_CmdInitStructure.SDIO_CmdIndex = 24;



if(CardType==SDIO_HIGH_CAPACITY_SD_CARD)        //大容量卡
{
                blksize=512;
                addr>>=9;
}   
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 23:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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