📄 hpi.h
字号:
//#include "common.h"
///////////////////////////////////////
#define CMD_RESET 0x00
#define CMD_DETECT_DEVICE 0x01
#define CMD_DETECT_DEVICE_RSP 0x04
#define CMD_OPEN_FILE 0x06
#define CMD_CREATE_FILE 0x07
#define CMD_READ_FILE 0x08
#define CMD_WRITE_FILE 0x09
#define CMD_CREATE_FILE_RSP 0x0A
#define CMD_READ_FILE_RSP 0x0B
#define CMD_WRITE_FILE_RSP 0x0C
#define CMD_OPEN_FILE_RSP 0x0D
#define CMD_LIST 0x10
#define CMD_REMOVE_FILE 0x11
#define CMD_GET_CAPACITY 0x12
#define CMD_GET_FREE_CAPACITY 0x13
#define CMD_FORMAT_DISK 0x14
#define CMD_SET_FILE_POINTER 0x15
#define CMD_LIST_RSP 0x20
#define CMD_REMOVE_FILE_RSP 0x21
#define CMD_GET_CAPACITY_RSP 0x22
#define CMD_GET_FREE_CAPACITY_RSP 0x23
#define CMD_FORMAT_DISK_RSP 0x24
#define CMD_SET_FILE_POINTER_RSP 0x25
#define CMD_GET_VERSION 0x30
#define CMD_GET_VERSION_RSP 0x40
#define CMD_DIR_DOWN 0x70
#define CMD_DIR_DOWN_RSP 0x80
#define CMD_DIR_UP 0x71
#define CMD_DIR_UP_RSP 0x81
///////////////////////////////////////////////
#define ERC_OK 0x0000
#define ERC_NODEVICE 0x0001
#define ERC_DEVICEFULL 0x0002
#define ERC_DEVICEERR 0x000a
#define ERC_FILEEXIST 0x0010
#define ERC_FILENOTFOUND 0x0011
#define ERC_LENGTHEXCEED 0x0012
#define ERC_REACHEND 0x0013
#define ERC_FILENOTOPENED 0x0014
#define ERC_STATEERR 0x0050
#define ERC_SYSERR 0x00fa
#define COMERC_CMDERR 0x01
#define COMERC_TIMEOUT 0x02
////////////////////////////////////////////////
typedef struct _UART_CMD_GETVERSION{
//U8 cmd;
U8 para;
U8 Reserved[62];
}UART_CMD_GETVERSION,*PUART_CMD_GETVERSION;
typedef struct _UART_CMD_OPENFILE{
//U8 cmd;
U8 filename[11];
//U8 fileext[3]
U8 Reserved[52];
}UART_CMD_OPENFILE,*PUART_CMD_OPENFILE;
typedef struct _UART_CMD_READFILE{
U16 readLength;
U8 Reserved[61];
}UART_CMD_READFILE,*PUART_CMD_READFILE;
typedef struct _UART_CMD_CREATEFILE{
//U8 filename[11];
U8 item[32];
U8 para;
U8 Reserved[30];
}UART_CMD_CREATEFILE,*PUART_CMD_CREATEFILE;
typedef struct _UART_CMD_WRITEFILE{
//U8 filename[11];
//U8 item[32];
//U8 para;
U16 writeLength;
U8 Reserved[60];
}UART_CMD_WRITEFILE,*PUART_CMD_WRITEFILE;
typedef struct _UART_CMD_REMOVEFILE{
//U8 cmd;
//U8 para;
U8 filename[11];
//U8 fileext[3]
U8 Reserved[51];
}UART_CMD_REMOVEFILE,*PUART_CMD_REMOVEFILE;
typedef struct _UART_CMD_SETFILEPOINTER{
//U8 cmd;
//U8 para;
U32 pointer;
U8 Reserved[58];
}UART_CMD_SETFILEPOINTER,*PUART_CMD_SETFILEPOINTER;
typedef union _CMD_BLOCK {
UART_CMD_OPENFILE Cmd_OpenFile;
UART_CMD_READFILE Cmd_ReadFile;
UART_CMD_CREATEFILE Cmd_CreateFile;
UART_CMD_WRITEFILE Cmd_WriteFile;
UART_CMD_REMOVEFILE Cmd_RemoveFile;
UART_CMD_SETFILEPOINTER Cmd_SetFilePointer;
UART_CMD_GETVERSION Cmd_GetVersion;
}CMD_BLOCK, * PCMD_BLOCK;
//////////////////////////////////////////////////
typedef struct _UART_RSP_DETECTDEVICE{
//U8 cmd;
//U8 result;
//U16 errcode;
U8 Reserved[60];
}UART_RSP_DETECTDEVICE,*PUART_RSP_DETECTDEVICE;
typedef struct _UART_RSP_GETCAPACITY{
//U8 cmd;
//U8 result;
//U16 errcode;
U32 disksize;
U32 freedisksize;
U8 Reserved[52];
}UART_RSP_GETCAPACITY,*PUART_RSP_GETCAPACITY;
typedef struct _UART_RSP_LIST{
//U8 cmd;
//U8 result;
//U16 errcode;
U16 len;
//U16 errcode;
U8 Reserved[58];
}UART_RSP_LIST,*PUART_RSP_LIST;
typedef struct _UART_RSP_OPENFILE{
//U8 cmd;
//U8 result;
//U16 errcode;
U8 item[32];
//U16 errcode;
U8 Reserved[28];
}UART_RSP_OPENFILE,*PUART_RSP_OPENFILE;
typedef struct _UART_RSP_READFILE{
//U8 cmd;
//U8 result;
//U16 errcode;
U16 readLength;
//U16 errcode;
U8 Reserved[58];
}UART_RSP_READFILE,*PUART_RSP_READFILE;
typedef struct _UART_RSP_CREATEFILE{
//U8 cmd;
//U8 result;
//U16 errcode;
U8 Reserved[60];
}UART_RSP_CREATEFILE,*PUART_RSP_CREATEFILE;
typedef struct _UART_RSP_WRITEFILE{
//U8 cmd;
//U8 result;
//U16 errcode;
U8 Reserved[60];
}UART_RSP_WRITEFILE,*PUART_RSP_WRITEFILE;
typedef struct _UART_RSP_REMOVEFILE{
//U8 cmd;
//U8 result;
//U16 errcode;
U8 Reserved[60];
}UART_RSP_REMOVEFILE,*PUART_RSP_REMOVEFILE;
typedef struct _UART_RSP_SETFILEPOINTER{
//U8 cmd;
//U8 result;
//U16 errcode;
U8 Reserved[60];
}UART_RSP_SETFILEPOINTER,*PUART_RSP_SETFILEPOINTER;
typedef struct _UART_RSP_GETVERSION{
//U8 cmd;
//U8 result;
//U16 errcode;
U16 version;
U8 Reserved[58];
}UART_RSP_GETVERSION,*PUART_RSP_GETVERSION;
typedef union _RSP_BLOCK {
UART_RSP_DETECTDEVICE Rsp_DetectDevice;
UART_RSP_GETCAPACITY Rsp_GetCapacity;
//UART_RSP_GETFREECAPACITY Rsp_GetFreeCapacity;
UART_RSP_LIST Rsp_List;
UART_RSP_OPENFILE Rsp_OpenFile;
UART_RSP_READFILE Rsp_ReadFile;
UART_RSP_CREATEFILE Rsp_CreateFile;
UART_RSP_WRITEFILE Rsp_WriteFile;
UART_RSP_REMOVEFILE Rsp_RemoveFile;
UART_RSP_SETFILEPOINTER Rsp_SetFilePointer;
UART_RSP_GETVERSION Rsp_GetVersion;
}RSP_BLOCK, * PRSP_BLOCK;
////////////////////////////////////////////////////
typedef struct _UART_RSP_BLOCK {
U8 result;
U16 errcode;
RSP_BLOCK RspBlock;
U16 len;
U8 *pbuffer;
} UART_RSP_BLOCK, * PUART_RSP_BLOCK;
/////////////////////////////////////////////////
void UartSendRsp(void);
U8 UartHandler(U8 bEnd);
U8 CreateFile(U8 *pBuffer);
U8 WriteFile(U32 writeLength,U8 *pBuffer,U8 bEnd);
U8 FileInfoUpdate(U8 step);
U8 WriteFileEnd(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -