?? hpi.h
字號(hào):
/*******************************Copyright (c)***************************************
桑海為實(shí)業(yè)發(fā)展有限公司
自 動(dòng) 化 鋼 琴 研 究 所
http://www.pianoshw.com
E-mail:shw@pianoshw.com
----------------------------------文件信息-------------------------------------------
文 件 名 : HPI.H
創(chuàng) 建 人 : 吳應(yīng)斌
創(chuàng) 建 日 期: 2004-6-7 10:18
功 能 描 述: SL811人機(jī)接口函數(shù)說(shuō)明(HPI.C)
************************************************************************************/
#ifndef _HPI_H_
#define _HPI_H_
/*---------------------------------------------------------------------------------*/
#define CMD_RESET 0x00 //磁盤(pán)復(fù)位命令
#define CMD_DETECT_DEVICE 0x01 //檢測(cè)磁盤(pán)命令
#define CMD_DETECT_DEVICE_RSP 0x04 //檢測(cè)磁盤(pán)應(yīng)答
#define CMD_OPEN_FILE 0x06 //打開(kāi)文件命令
#define CMD_CREATE_FILE 0x07 //創(chuàng)建文件命令
#define CMD_READ_FILE 0x08 //讀取文件命令
#define CMD_WRITE_FILE 0x09 //寫(xiě)入文件命令
#define CMD_CREATE_FILE_RSP 0x0A //創(chuàng)建文件應(yīng)答
#define CMD_READ_FILE_RSP 0x0B //讀取文件應(yīng)答
#define CMD_WRITE_FILE_RSP 0x0C //寫(xiě)入文件應(yīng)答
#define CMD_OPEN_FILE_RSP 0x0D //打開(kāi)文件應(yīng)答
#define CMD_LIST 0x10 //列出文件目錄命令
#define CMD_REMOVE_FILE 0x11 //刪除指定文件命令
#define CMD_GET_CAPACITY 0x12 //獲取磁盤(pán)空間命令
#define CMD_GET_FREE_CAPACITY 0x13 //獲取磁盤(pán)剩余空間命令
#define CMD_SET_FILE_POINTER 0x15 //移動(dòng)文件指針命令
#define CMD_LIST_RSP 0x20 //列出文件目錄應(yīng)答
#define CMD_REMOVE_FILE_RSP 0x21 //刪除指定文件應(yīng)答
#define CMD_GET_CAPACITY_RSP 0x22 //獲取磁盤(pán)空間應(yīng)答
#define CMD_GET_FREE_CAPACITY_RSP 0x23 //獲取磁盤(pán)剩余空間應(yīng)答
#define CMD_SET_FILE_POINTER_RSP 0x25 //移動(dòng)文件指針應(yīng)答
#define CMD_GET_VERSION 0x30 //獲取軟件版本命令
#define CMD_GET_VERSION_RSP 0x40 //獲取軟件版本應(yīng)答
#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 //結(jié)果正確
#define ERC_NODEVICE 0x0001 //未檢測(cè)到磁盤(pán)
#define ERC_DEVICEFULL 0x0002 //磁盤(pán)空間已滿
#define ERC_DEVICEERR 0x000A //磁盤(pán)異常
#define ERC_FILEEXIST 0x0010 //要?jiǎng)?chuàng)建的文件已存在
#define ERC_FILENOTFOUND 0x0011 //要讀取的文件不存在
#define ERC_LENGTHEXCEED 0x0012 //要讀取的文件長(zhǎng)度超出
#define ERC_REACHEND 0x0013 //要讀取的文件已到結(jié)尾
#define ERC_FILENOTOPENED 0x0014 //文件未打開(kāi)
#define ERC_STATEERR 0x0050 //狀態(tài)錯(cuò)誤
#define ERC_SYSERR 0x00FA //系統(tǒng)錯(cuò)誤
#define COMERC_CMDERR 0x01 //ERC錯(cuò)誤
#define COMERC_TIMEOUT 0x02 //ERC超時(shí)
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
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -