📄 udisk.h
字号:
#ifndef __UDISK_H
#define __UDISK_H
#include "config.h"
/* 文件指针调整方式 */
#define SEEK_SET 0 /* 从文件开始处移动文件指针 */
#define SEEK_CUR 1 /* 从文件当前位置移动文件指针 */
#define SEEK_END 2 /* 从文件尾移动文件指针 */
/* 函数返回值 */
#define RETURN_OK 0x00 /* 操作成功 */
#define NOT_FIND_DISK 0x01 /* 逻辑盘不存在 */
#define DISK_FULL 0x02 /* 逻辑盘满 */
#define SECTOR_NOT_IN_CACHE 0x03 /* 扇区没有被cache */
#define NOT_EMPTY_CACHE 0x04 /* 没有空闲cache */
#define SECTOR_READ_ERR 0x05 /* 读扇区错误 */
#define CLUSTER_NOT_IN_DISK 0x06 /* 逻辑盘中没有此簇 */
#define NOT_FIND_FDT 0x07 /* 没有发现文件(目录)*/
#define NOT_FAT_DISK 0x08 /* 非FAT文件系统 */
#define FDT_OVER 0x09 /* FDT索引超出范围 */
#define FDT_EXISTS 0x0a /* 文件(目录)已经存在*/
#define ROOT_FDT_FULL 0x0b /* 根目录满 */
#define DIR_EMPTY 0x0C /* 目录空 */
#define DIR_NOT_EMPTY 0x0d /* 目录不空 */
#define PATH_NOT_FIND 0x0e /* 路径未找到 */
#define FAT_ERR 0x0f /* FAT表错误 */
#define FILE_NAME_ERR 0x10 /* 文件(目录)名错误 */
#define FILE_EOF 0x11 /* 文件结束 */
#define FILE_LOCK 0x12 /* 文件被锁定 */
#define NOT_FIND_FILE 0x13 /* 没有发现指定文件 */
#define NOT_FIND_DIR 0x14 /* 没有发现指定目录 */
#define GET_TIME_ERR 0x15 /* 获取时间错误 */
#define DISK_NO_FORMAT 0x16 /* 逻辑盘没有格式化 */
#define NOT_RUN 0xfd /* 命令未执行 */
#define BAD_COMMAND 0xfe /* 错误命令 */
#define PARAMETER_ERR 0xff /* 非法参数 */
typedef struct _F_HANDLE
{
uint8 fh;
uint32 fsize;
}FHANDLE;
typedef struct __SYSINF{
uint8 Baud;
uint8 Year;
uint8 Month;
uint8 Dom;
uint8 Hour;
uint8 Min;
uint8 Sec;
uint8 DiskIn;
FHANDLE FH;
uint8 version;
}SYSINF;
typedef struct _CONTR_DISK
{
uint8 cmd; // 指令代码
uint8 cmds; // 操作文件句柄
// uint32 offset; // 指针跳转偏移量
char *fname; // 文件名与路径
// uint8 *read_ptr; // 读出的数据缓冲区指针
uint16 rlen; // 读出的数据长度
uint8 *write_ptr; // 写入的数据缓冲区指针
uint16 wlen; // 写入的数据长度
volatile uint8 state; // 状态
}CONTR_DISK;
void DriverIni(void);
uint8 GetDiskInfo(SYSINF *sysinfptr);
uint8 SetDiskInfo(SYSINF *sysinfptr);
FHANDLE *FileOpen(char *DirFileName);
uint8 FileClose(void);
uint32 FileWrite(uint8 *Buf, uint32 Size, FHANDLE *Handle);
uint32 FileRead(uint8 *Buf, uint32 Size, FHANDLE *Handle);
uint8 MakeDir(char *Path);
uint8 FileSeek(FHANDLE *Handle, int32 offset, uint8 Whence);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -