📄 hpi.h
字号:
/*******************************Copyright (c)***************************************
桑海为实业发展有限公司
自 动 化 钢 琴 研 究 所
http://www.pianoshw.com
E-mail:shw@pianoshw.com
----------------------------------文件信息-------------------------------------------
文 件 名 : HPI.H
创 建 人 : 吴应斌
创 建 日 期: 2004-6-7 10:18
功 能 描 述: SL811人机接口函数说明(HPI.C)
************************************************************************************/
#ifndef _HPI_H_
#define _HPI_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_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_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 //ERC错误
#define COMERC_TIMEOUT 0x02 //ERC超时
typedef struct _UART_CMD_GETVERSION
{
unsigned char para;
unsigned char Reserved[62];
}UART_CMD_GETVERSION,*PUART_CMD_GETVERSION;
typedef struct _UART_CMD_OPENFILE
{
unsigned char filename[11];
unsigned char Reserved[52];
}UART_CMD_OPENFILE,*PUART_CMD_OPENFILE;
typedef struct _UART_CMD_READFILE
{
unsigned int readLength;
unsigned char Reserved[61];
}UART_CMD_READFILE,*PUART_CMD_READFILE;
typedef struct _UART_CMD_CREATEFILE
{
unsigned char item[32];
unsigned char para;
unsigned char Reserved[30];
}UART_CMD_CREATEFILE,*PUART_CMD_CREATEFILE;
typedef struct _UART_CMD_WRITEFILE
{
unsigned char para;
unsigned int writeLength;
unsigned char Reserved[60];
}UART_CMD_WRITEFILE,*PUART_CMD_WRITEFILE;
typedef struct _UART_CMD_REMOVEFILE
{
unsigned char para;
unsigned char filename[11];
unsigned char Reserved[51];
}UART_CMD_REMOVEFILE,*PUART_CMD_REMOVEFILE;
typedef struct _UART_CMD_SETFILEPOINTER
{
unsigned char para;
unsigned long pointer;
unsigned char 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
{
unsigned char Reserved[60];
}UART_RSP_DETECTDEVICE,*PUART_RSP_DETECTDEVICE;
typedef struct _UART_RSP_GETCAPACITY
{
unsigned long disksize;
unsigned long freedisksize;
unsigned char Reserved[52];
}UART_RSP_GETCAPACITY,*PUART_RSP_GETCAPACITY;
typedef struct _UART_RSP_GETFREECAPACITY
{
unsigned long diskfreesize;
unsigned char Reserved[56];
}UART_RSP_GETFREECAPACITY,*PUART_RSP_GETFREECAPACITY;
typedef struct _UART_RSP_LIST
{
unsigned int len;
unsigned char Reserved[58];
}UART_RSP_LIST,*PUART_RSP_LIST;
typedef struct _UART_RSP_OPENFILE
{
unsigned char item[32];
unsigned char Reserved[28];
}UART_RSP_OPENFILE,*PUART_RSP_OPENFILE;
typedef struct _UART_RSP_READFILE
{
unsigned int readLength;
unsigned char Reserved[58];
}UART_RSP_READFILE,*PUART_RSP_READFILE;
typedef struct _UART_RSP_CREATEFILE
{
unsigned char Reserved[60];
}UART_RSP_CREATEFILE,*PUART_RSP_CREATEFILE;
typedef struct _UART_RSP_WRITEFILE
{
unsigned char Reserved[60];
}UART_RSP_WRITEFILE,*PUART_RSP_WRITEFILE;
typedef struct _UART_RSP_REMOVEFILE
{
unsigned char Reserved[60];
}UART_RSP_REMOVEFILE,*PUART_RSP_REMOVEFILE;
typedef struct _UART_RSP_SETFILEPOINTER
{
unsigned char Reserved[60];
}UART_RSP_SETFILEPOINTER,*PUART_RSP_SETFILEPOINTER;
typedef struct _UART_RSP_GETVERSION
{
unsigned int version;
unsigned char 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_CMD_BLOCK
{
unsigned char cmd;
CMD_BLOCK CmdBlock;
}UART_CMD_BLOCK, * PUART_CMD_BLOCK;
typedef struct _UART_RSP_BLOCK
{
unsigned char cmd;
unsigned char result;
unsigned int errcode;
RSP_BLOCK RspBlock;
unsigned int len;
unsigned char *pbuffer;
}UART_RSP_BLOCK, * PUART_RSP_BLOCK;
void UartSendRsp(void);
void UartHandler(void);
unsigned char DetectDevice(void);
unsigned char List(void);
unsigned char OpenFile(unsigned char *pBuffer);
unsigned char ReadFile(unsigned int readLength,unsigned char *pBuffer);
unsigned char CreateFile(unsigned char *pBuffer);
unsigned char WriteFile(unsigned int writeLength,unsigned char *pBuffer);
unsigned char RemoveFile(unsigned char *pBuffer);
unsigned char GetCapacity(void);
unsigned char GetFreeCapacity(void);
unsigned char SetFilePointer(unsigned long pointer);
unsigned char GetFirmwareVersion(void);
/*---------------------------------------------------------------------------------*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -