CH378Q枚举文件的时候,读出来的文件名有很多空格,与实际文件名不相符,这是怎么回事啊?

  sprintf((char *)filename + strlen((char *)filename), "/%02u-*\0",CurrentTime.day);  //构建文件名称

CH378SetFileName(filename);

res = CH378FileOpen(filename);              /* 枚举多级目录下的文件或者目录 */

while (res == USB_INT_DISK_READ)

{

/* 枚举到匹配的文件 */

CH378ReadReqBlock(filename);                 /* 读取枚举到的文件的完整路径名 */

xWriteCH378Cmd(CMD0H_FILE_ENUM_GO);          /* 继续枚举文件和目录 */

CH378_SPI_SCS = 1;//xEndCH378Cmd();

res = Wait378Interrupt();

}

1648799782205031.jpg

1648799783140681.jpg

上面这两张图是单片机读到的文件名,和实际SD卡中的文件名.

您好,这个空格就是文件管理系统读取文件数据时,未超过长度8.3的会用空格填充。


那.号呢?怎么消失了,TXT后面的空格又是怎么回事?还有数组的第18位19位的乱码?


您好,读取的数据内容是前面8字节的数据+后面3字节的长度,如果实际文件长度不足8字节,会有空格填充,其它的数据,您可以看一下是否是程序里面长度获取的问题。378最大支持的就是8字节短文件名,后面名3字节。


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