硬汉嵌入式论坛

 找回密码
 立即注册
查看: 884|回复: 2
收起左侧

[FatFs] sd檔名長度

[复制链接]

16

主题

38

回帖

86

积分

初级会员

积分
86
发表于 2024-6-3 17:28:39 | 显示全部楼层 |阅读模式
想請問我需要用時間來作為sd檔名

ex 年月日十分秒.bin

             uint16_t year = 2024;
              uint8_t month = 12;
              uint8_t day = 12;
              uint8_t hour = 12;
              uint8_t min =23;
        deci0 =year*10000+month*100+day;//20241212
        deci1 = hour*100+min;//1223
        memset(f_name, 0, sizeof(f_name));//清空 f_name
        snprintf(f_num_name, sizeof(f_num_name), "%ld", deci0);
        strcat(f_name, f_num_name);
        snprintf(f_num_name, sizeof(f_num_name), "%ld", deci1);
        strcat(f_name, f_num_name);
        strcat(f_name, f_bin);

   fs_handle.retUSER = f_open(&fs_handle.USERFile, f_name,FA_CREATE_ALWAYS | FA_WRITE | FA_READ);//FA_CREATE_ALWAYS

  測試發現檔名只能放八個數字+.bin ex 12121223.bin
我看ff.h中結構


/* File information structure (FILINFO) */
typedef struct {
    FSIZE_t fsize;          /* File size */
    WORD    fdate;          /* Modified date */
    WORD    ftime;          /* Modified time */
    BYTE    fattrib;        /* File attribute */
#if _USE_LFN != 0
    TCHAR   altname[13];            /* Alternative file name */
    TCHAR   fname[_MAX_LFN + 1];    /* Primary file name */
#else
    TCHAR   fname[13];      /* File name */
#endif
} FILINFO;

fname[13]以為可以放到13個數字, 請問檔名長度是如何計算?  何時一定得用_USE_LFN
感謝

  

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-6-4 10:14:33 | 显示全部楼层
如果你的文件名长度大于8.3格式,最好使用长文件名,否则文件名展示不全。

不知道楼主是不是执行的这个。
回复

使用道具 举报

16

主题

38

回帖

86

积分

初级会员

积分
86
 楼主| 发表于 2024-6-4 11:52:10 | 显示全部楼层
感謝回覆
是想了解這塊,
不開長文件名, 我的測試結果好像只能塞到8個數字+.bin
有發現文件名稱越長, 開檔花的時間較長,
sd卡存的檔案越多, 開檔時間越會增加
因為想控制開檔時間再一定範圍
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 07:03 , Processed in 0.036340 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表