ch376文件管理芯片,关于枚举U盘内所有文件名

       之前做过一个读取U盘内指定文件内数据的项目。读取方式有很多的限制,比如在程序中文件名是定死的,只有当程序中写的文件名跟U盘内的文件名一模一样时,才能从U盘内读取数据。这样,后期需要修改文件名的话还要在程序中修改成一模一样的名字,这样是很不方便的。

       我在寻找解决办法的时候看了看ch376数据手册,在这上面查到了有关方面的资料,找到了下面一段话:

     上面这段话是我在数据手册上看到的,里面提到可以搜索目标U盘内的所有文件名,并且包含了例程:

typedef struct _FILE_NAME {
	UINT32	DirStartClust;				/* 文件所在目录的起始簇号 */
//	UINT32	Size;						/* 文件长度 */
	UINT8	Name[8+1+3+1];				/* 文件名,共8+3字节,分隔符,结束符,因为未包含上级目录名所以是相对路径 */
	UINT8	Attr;						/* 文件属性 */
} FILE_NAME;
#define		MAX_FILE_COUNT		40
FILE_NAME	xdata	FileNameBuffer[ MAX_FILE_COUNT ];	/* 文件名结构 */
UINT16		FileCount;
UINT8		idata	buf[64];

/* 例子:列举指定序号的目录下的所有文件 */
UINT8	ListFile( UINT8 index )
/* 输入参数index是指目录在结构中的序号 */
{
	UINT8			s;
	P_FAT_DIR_INFO	pDir;
	PUINT8			pNameBuf;
	UINT32			Curren
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值