初级会员

- 积分
- 76
- 金钱
- 76
- 注册时间
- 2014-10-22
- 在线时间
- 1 小时
|
5金钱
1、SD卡数据擦除的问题,如果我的SD卡内存使用完的话,我是不是需要进行擦除?还是不需要擦除,数据会自动覆盖?PS:我是直接操作SD卡的扇区,没有文件系统。
2、SD卡每个扇区定义为512b字节,如果我只写入200b数据,剩余的字节是被赋值为0,还是保存原来写入的数据?
3、SD卡的扇区擦除命令怎样使用? ps:
u8 SD_EraseDisk(u32 cnt,u32 sector)
{
u8 r1;
cnt *=512;
sector *= 512;
r1=SD_SendCmd(CMD32,cnt,0X01);
if(r1==0){
r1=SD_SendCmd(CMD33,sector,0X01);
}
if(r1==0){
r1=SD_SendCmd(CMD38,0,0X01);
}
return r1;
}
这是我根据SD卡擦除命令编写的扇区擦除函数,CMD32--设置起始地址、CMD33--设置终止地址、CMD38--擦除所选中的扇区。有资料上说擦除命令是按 “位”地址操作的,故转换扇区地址为字节地址。
原子哥,请指教。
|
最佳答案
查看完整内容[请看2#楼]
1,自动的,不需要人工擦除
2,可以写200b,剩下的还是原来的值,或者你写入的新值。
3,擦除命令我没用过。
|