CH376更新文件长度时处理的流程是什么?

我在单片机上用CH376实时操作SD卡,当发现电压过低时拔掉了电池,在电脑上查看文件发现文件无法复制;用winhex查看发现文件属性的长度、FAT1表簇链长度和FAT2表簇链长度三者不相符,其中FAT1表最后面没有文件结束标记FF FF FF OF。因为我是每隔半小时更新一次文件长度,所以怀疑是在更新文件长度的瞬间断电了,想请问一下:CH376在更新文件长度时,对文件分配表操作的次序是什么?目录项、FAT1、FAT2哪个操作在先?

FAT1、FAT2应该是在写文件的时候就写进去了。也就是说先占用FAT。然后写文件。最后是更新目录项


哦,谢谢回复! 请问SD卡的FAT表刷新时,是擦除当前的FAT扇区然后再写此扇区吗? 如果是的话,实时写SD卡时,FAT表的每个扇区都要连续擦写128次(512/4=128)?


SD卡对外部的接口是可以直接进行写操作的。无需擦除。SD卡有按字节写的命令。


只有登录才能回复,可以选择微信账号登录