Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践

源代码在线查看: command.c

软件大小: 1718 K
上传用户: multicolor
关键词: uVision2 Keil 7.0 Cx
下载地址: 免注册下载 普通下载 VIP

相关代码

				/************************************************************************/
				/*                                                                      */
				/*              	Command Interpreter	                        */
				/*                                                                      */
				/*              Author: Peter Dannegger                                 */
				/*                      danni@specs.de                                  */
				/*                                                                      */
				/************************************************************************/
				#include
				#include
				
				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 );	// 执行命令
				    		}
				}
				
							

相关资源