初级会员

- 积分
- 78
- 金钱
- 78
- 注册时间
- 2015-6-2
- 在线时间
- 24 小时
|

楼主 |
发表于 2017-10-27 08:28:04
|
显示全部楼层
原子哥,你说的零散文件是什么?我是每次往8个文件夹分别写入40KB的数据,单个文件的大小大概是2MB。调试发现大概是单个文件夹大小为4G之后就会丢数,扇区地址也都是6位的。
例程是不是对于大容量的存储不支持啊 ,还是需要修改什么参数。跪求了,这个问题困扰我1个多月了。
u8 SD_WriteDisk(u8 *buf,u32 sector,u8 cnt)
{
u8 sta=SD_OK;
// long long lsector=sector;
u8 n;
// if(SDCardInfo.CardType!=STD_CAPACITY_SD_CARD_V1_1)lsector<<=9;
// if((u32)buf%4!=0)
// {
// for(n=0;n<cnt;n++)
// {
// memcpy(SDIO_DATA_BUFFER,buf,512);
// sta=SD_WriteBlocks_DMA((uint32_t*)SDIO_DATA_BUFFER,lsector+512*n,512,1);
// buf+=512;
// }
// }else
// {
// sta=SD_WriteBlocks_DMA((uint32_t*)buf,lsector,512,cnt);
// }
sta=SD_WriteBlocks_DMA((uint32_t*)buf,(uint64_t)(sector * 512),512,cnt);
return sta;
}
|
|