?? command.c
字號:
/************************************************************************/
/* */
/* Command Interpreter */
/* */
/* Author: Peter Dannegger */
/* danni@specs.de */
/* */
/************************************************************************/
#include<stdlib.h>
#include<types.h>
typedef struct {
uchar code *name;
uchar (code *func)(uchar idata *);
}comm_struct;
comm_struct code comm_tab[] = { // 命令表
"inport", inport,
"outport", outport,
"help", help,
"?", help,
"", NULL // 命令表結束符
};
/****************************** 命令處理函數 ******************************
* 功能:根據串行口輸入命令,查命令表,調用不同的命令函數
**************************************************************************/
uchar command( uchar idata *buf ) {
uchar i, j; // 最多可處理256個命令
for( i = 0;; )
for( j = 0;; ){
if( comm_tab[i].name[j] != 0 ){
if( ((comm_tab[i].name[j] ^ buf[j]) & 0x5F) == 0 ){
j++;
continue; // 下一個輸入字符
}
i++;
break; // 下一條命令
}
if( j == 0 ) return 255; // 查表未找到命令返回錯誤號255
return comm_tab[i].func( buf+j ); // 執行命令
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -