使用SET_FILE_SIZE命令时,不能设置文件大小。
使用信息:
芯片:CH376T 版本V4.4
由于官方库没有提供这一指令的实现函数,函数是自己编写的。
voidCH376SetFileSize( UINT32 size ) /* 读取当前文件长度 */
{
xWriteCH376Cmd( CMD50_SET_FILE_SIZE );
xWriteCH376Data( 0x68 ); /* head */
xWriteCH376Data( (UINT8)(size & 0xff) ); /* 长度,低位在前 */
xWriteCH376Data( (UINT8)((size > 8) & 0xff) );
xWriteCH376Data( (UINT8)((size > 16) & 0xff) );
xWriteCH376Data( (UINT8)((size > 24) & 0xff) );
xEndCH376Cmd( );
}
指令函数使用:
CH376SetFileSize(0x60000);
s = CH376FileClose( TRUE ); /* 关闭文件 */ //(也使用过FALSE)
然后重新打开该文件,使用GET_FILE_SIZE读取文件大小,并printf。
offset = CH376GetFileSize();
printf( "offset = %x\n",(UINT16)offset );
最后结果是,SET_FILE_SIZE指令并不能实现文件大小更改,请问一下为什么?谢谢。