cli.h
来自「基于ARM和uC/OS-II实现的串口控制台」· C头文件 代码 · 共 104 行
H
104 行
/*******************************************************************************
**
** File Name: CLI.h
** Author: Zhoudan
** Last Modified: 2007-01-10
** Last Version: 0.5
** Environment: LPC2214/RVDSv2.2/uCOS-II2.52
** Descriptions:
**
*******************************************************************************/
#ifndef __CLI_H__
#define __CLI_H__
#ifndef __CLI_C__
#define EXTERN
#else
#define EXTERN extern
#endif //__CLI_C__
#include "config.h"
#include "cmd.h"
/* 打开/关闭串口中断 */
#define EnU0Int() VICIntEnable = EN_IRQ_UART0
#define DisU0Int() VICIntEnClr = EN_IRQ_UART0
/* 命令状态 */
EXTERN uint8 CmdStatus;
#define GetCmdStatus() CmdStatus
#define ChangCmdStatus(x) CmdStatus = x
#define USER 0x00
#define PRIVATE 0x01
#define CONFIG 0x02
#define CONFIG_IF 0x03
#define CONFIG_LINE 0x04
/* 命令BUF结构 */
#define CMD_BUF_MAX 128 // 命令最大长度
#define MAX_HIS_BUF 32 // 历史命令数
typedef struct _BufInfo
{
BYTE Buf[CMD_BUF_MAX]; /* 命令BUF */
uint8 WrPtr; /* 写指针 */
uint8 RdPtr; /* 读指针 */
uint8 InsDelPtr; /* 插入和删除指针 */
uint8 Cnt; /* BUF中有效数据计数 */
}BufInfo;
typedef struct _CmdInfo
{
char *name; // 命令名
CMDHANDLE func; // 命令的处理函数
char *help; // 命令的帮助字符串
int cmdid; // 标号
struct _CmdInfo *paraDB;
}CmdInfo;
typedef struct _CmdStatus
{
CmdInfo *CurCmdDB;
char *StatusPrompt;
}
/*******************************************************************************
extern
*******************************************************************************/
void CLIInit(void);
void GetCmd(char *pCurCmdBuf);
BOOL GetPara(char * CurBuf, char * pParaBuf, uint8 ParaNum);
int SearchCmd(char *CurBuf, uint8 *CmdID, uint8 *err);
int SearchPara(char *CurBuf, uint8 ParaNum, CmdInfo *CurDB, uint8 *ParaID
, uint8 *err);
void CmdRun(uint8 CmdID);
void CmdErr(void);
void CmdIncomplate(void);
void CmdNotUnique(void);
void CurPrompt(void);
void BufClean(void);
void PrintBuf(void);
void ConSplit(void);
void TaskCLI(void *pdata);
void U0RxISR(void);
/* 终端提示信息 */
EXTERN char *HOSTNAME;
EXTERN const char *DefHostName;
EXTERN const char *PROMPT;
EXTERN const char *PROMPT_PRI;
EXTERN const char *PROMPT_CONFIG;
EXTERN const char *PROMPT_CONF_LINE;
EXTERN const char *PROMPT_CONF_IF;
EXTERN const char *BLANKROW;
/* 命令错误 */
EXTERN const char *CMD_ERR_INVALID;
EXTERN const char *CMD_ERR_INCOMPLETE;
EXTERN uint32 CLIConfigFile[];
#endif /* __CLI_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?