大家好: 在看例子时遇到一个想不通的地方,为什么要把上级目录的起始簇号写到新建目录的起始簇号中,举个例子,根目录下有个目录\ABC,下面已经有一个目录\01(内有文件若干),现在要新建另一个目录\02,可以把\ABC的起始簇号写给\02吗?
部分源码如下。 …… xWriteCH376Cmd( CMD14_READ_VAR32 ); xWriteCH376Data( VAR_START_CLUSTER ); /* 上级目录的起始簇号 */ for ( s = 0; s != 4; s ++ ) ClustBuf[ s ] = xReadCH376Data( ); xEndCH376Cmd( ); s = CH376DirCreate( &PathName[Name] ); /* 在当前目录下新建目录 */ if ( s != USB_INT_SUCCESS ) return( s ); s = CH376ByteLocate( sizeof(FAT_DIR_INFO) + STRUCT_OFFSET( FAT_DIR_INFO, DIR_FstClusHI ) ); /* 移动文件指针 */ if ( s != USB_INT_SUCCESS ) return( s ); s = CH376ByteWrite( &ClustBuf[2], 2, NULL ); /* 写入上级目录的起始簇号的高16位 */
……