亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? analyseframe.c

?? 基于嵌入式web服務(wù)器的web應(yīng)用層代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*********************************************************************
    Filename:       analyseframe.c
    Revised:        $Date: 2007-12-11 10:38:52 -0800 $
    Revision:       $Revision: 10194 $
    
    Description:    
            
    Notes:  

*********************************************************************/

/*********************************************************************
 * INCLUDES
 */
#include <string.h> 

#include "analyseframe.h" 
#include "uart.h" 
#include "web.h"

/*********************************************************************
 * LOCAL VARIABLES
 */ 
cmd_frame_t cmd_frame = {0xF5, 0xFA, 0xFB, 0xFF};
info_frame_t info_frame;
char query_string_data[MAX_QUERY_STRING_LENGTH];
unsigned char frame_ready = FRAME_FINISHED;

unsigned char wait_for_dealed_buf[2][RX_BUF_SIZE];
unsigned char save_cmd_enable = 0;				//接收完成標(biāo)志

 
/*********************************************************************
 * CONSTANTS
 */
const char *device_head_table[MAX_DEVICE_HEAD_LENGTH] = 
{
	"device", "cmd", "location", "operation", "address",
};


/*********************************************************************/
const char *dxc_timeslot_table[7] = 
{
	"src_board", "src_port", "src_timeslot", "dst_board", "dst_port", "dst_timeslot", "dxc_flag",
};

const char *V35_work_mode_table[8] = 
{
	"board_num", "port_num", "work_mode", "work_rxp", "work_txp", "work_clk", "main_clk", "mode_type",
};

const char *V35_frame_type_table[3] = 
{
	"board_num", "port_num", "frame_type",
};

const char *V35_timeslot_table[3] = 
{
	"board_num", "port_num", "down_timeslot",
};

const char *CLK_prio_table[10] =
{
	"prio1", "prio2", "prio3", "prio4", "prio5", "prio6", "prio7", "prio8", "prio9", "prio10",
};

const char *FE_up_band_table[2] = 
{
	"board_num", "up_band",
};

const char *FE_port_band_table[3] = 
{
	"board_num", "port_num", "port_band",
};

const char *FE_vlan_mode_table[2] = 
{
	"board_num", "vlan_mode",
};

const char *FE_vlan_group_table[6] = 
{
	"board_num", "vlan_group", "vlan_port1", "vlan_port2", "vlan_port3", "vlan_port4", 
};

const char *FE_vlan_tag_table[3] = 
{
	"board_num", "vlan_group", "vlan_tag",
};

const char *phone_number_table[1] = 
{
	"telephone_number",
};

const char *port_loop_table[3] = 
{
	"board_num", "port_num", "loop_flag", 
};

const char *OPT_switch_table[1] = 
{
	"switch_flag", 
};

const char *OPT_enable_table[2] = 
{
	"opt1_enable", "opt2_enable", 
};

const char *system_time_table[6] = 
{
	"time_year", "time_month", "time_day", "time_hour", "time_minute", "time_second",
};

const char *alarm_mask_table[13] = 
{
	"board_num", "port_num", "mask_flag", "alm_id01",  "alm_id02", "alm_id03", "alm_id04", "alm_id05", "alm_id06", "alm_id07", "alm_id08", "alm_id09", "alm_id10",
};

const char *alarm_level_table[11] = 
{
	"alm_level", "alm_id01", "alm_id02", "alm_id03", "alm_id04", "alm_id05", "alm_id06", "alm_id07", "alm_id08", "alm_id09", "alm_id10", 
};



/*********************************************************************/

const cmd_type_t cmd_types[MAX_CMD_NUMBER] = 
{
	{"dxc_timeslot", CMD_SET_DXC_TIMESLOT, CMD_READ_DXC_TIMESLOT},
	{"V35_work_mode", CMD_SET_V35_WORKMODE, CMD_READ_V35_WORKMODE},
//	{"V35_frame_type", CMD_SET_V35_FRAMETYPE, CMD_READ_V35_FRAMETYPE},
	{"V35_timeslot", CMD_SET_V35_TIMESLOT, CMD_READ_V35_TIMESLOT},
	{"V35_attribute", CMD_READ_V35_ATTRIBUTE, CMD_READ_V35_ATTRIBUTE},
	{"CLK_prio", CMD_SET_CLOCK_PRIO, CMD_READ_CLOCK_PRIO},
	{"read_work_clock", CMD_READ_WORK_CLOCK, CMD_READ_WORK_CLOCK},
	{"read_clock_info", CMD_READ_CLOCK_INFO, CMD_READ_CLOCK_INFO},
	{"FE_up_band", CMD_SET_FE_UP_BAND, CMD_READ_FE_UP_BAND},
	{"FE_port_band", CMD_SET_FE_PORT_BAND, CMD_READ_FE_PORT_BAND},
	{"FE_vlan_mode", CMD_SET_VLAN_MODE, CMD_READ_VLAN_MODE},
	{"FE_vlan_group", CMD_SET_VLAN_GROUP, CMD_READ_VLAN_GROUP},
	{"FE_vlan_tag", CMD_SET_VLAN_TAG, CMD_READ_VLAN_TAG},
	{"read_work_board", CMD_READ_WORK_BOARD, CMD_READ_WORK_BOARD},	
	{"phone_number", CMD_SET_PHONE_NUMBER, CMD_READ_PHONE_NUMBER},
	
	{"port_loop", CMD_SET_LOOP, CMD_READ_LOOP},
	{"OPT_switch", CMD_SET_OPT_SWITCH, CMD_READ_OPT_SWITCH},
	{"OPT_enable", CMD_SET_OPT_ENABLE, CMD_READ_OPT_ENABLE},
	
	{"system_time", CMD_SET_SYSTEM_TIME, CMD_SET_SYSTEM_TIME},	
	{"read_mcu_version", CMD_READ_MCU_VERSION, CMD_READ_MCU_VERSION},
	{"read_device_type", CMD_READ_DEVICE_TYPE, CMD_READ_DEVICE_TYPE},	
	
	{"read_alarm", CMD_READ_ALARM, CMD_READ_ALARM},
	{"alarm_mask", CMD_SET_ALARM_MASK, CMD_READ_ALARM_MASK},
	{"alarm_level", CMD_SET_ALARM_LEVEL, CMD_SET_ALARM_LEVEL},
	{"read_event", CMD_READ_EVENT, CMD_READ_EVENT},	
	
};

const clk_type_t clk_types[23] = 
{
	{"NONE", 0}, 
	{"OPT1", 1}, 
	{"OPT2", 2}, 
	{"PORT_OPT1", 3}, 
	{"PORT_OPT1", 4}, 
	{"BOARD1_PORT1", 5}, 
	{"BOARD1_PORT2", 6}, 
	{"BOARD1_PORT3", 7}, 
	{"BOARD1_PORT4", 8}, 
	{"BOARD2_PORT1", 9}, 
	{"BOARD2_PORT2", 10}, 
	{"BOARD2_PORT3", 11}, 
	{"BOARD2_PORT4", 12}, 
	{"BOARD3_PORT1", 13}, 
	{"BOARD3_PORT2", 14}, 
	{"BOARD3_PORT3", 15}, 
	{"BOARD3_PORT4", 16}, 
	{"BOARD4_PORT1", 17}, 
	{"BOARD4_PORT2", 18}, 
	{"BOARD4_PORT3", 19}, 
	{"BOARD4_PORT4", 20}, 
	{"FREE", 21}, 
	{"EXT_CLOCK", 22}, 
};

/*********************************************************************/

const char *string_to_hex_zero[7] = 
{
	"0", "DTE", "INT", "UNFRAME", "PORT", "MASTER", "DISABLE",
};

const char *string_to_hex_one[7] = 
{
	"1", "DCE", "EXT", "FRAME", "TAG", "SLAVE", "ENABLE",
};








  
 
/*********************************************************************
 * FUNCTIONS
 */ 

//將ASCII 碼轉(zhuǎn)換為HEX(16進(jìn)制)碼
unsigned char AsciiToHex(unsigned char ascii)
{
	volatile unsigned char hex_num;

	if ((ascii >= '0') && (ascii <= '9'))
		hex_num = ascii - '0';
	else if ((ascii >= 'a') && (ascii <= 'f'))
		hex_num = ascii - 'a' + 0x0A;
	else if ((ascii >= 'A') && (ascii <= 'F'))
		hex_num = ascii - 'A' + 0x0A;	
	else
		hex_num = ascii;
 	
	return(hex_num);
}


//將HEX(16進(jìn)制)碼轉(zhuǎn)換為ASCII 碼
unsigned char HexToAscii(unsigned char hex)
{
	volatile unsigned char ascii_num;

	//if ((hex >= 0x00) && (hex <= 0x09))
	if (hex <= 0x09)
		ascii_num = hex + '0';
	else if ((hex >= 0x0A) && (hex <= 0x0F))	
		ascii_num = hex - 0x0A + 'A';
	else
		ascii_num = 0x5A;				//ASCII "Z"

	return(ascii_num);
}
 
//查找指定字符串2 在字符串1 中的位置 
int strspos(char *string1, char *string2, unsigned int count)
{
	int length = 0, offset = 0;
	int position = 0;
	int str_pos = 0xffff;
	char *start = string1;
	char *compare = string2;

	while (*compare)
	{	
		//position = strpos(start + offset, *compare);		
		position = strcspn(start + offset, compare);			//strcspn 與strpos 函數(shù)功能基本一致		
		if ((position == 0xffff) || ((position + offset) >= count))
		{
	 		return (0xffff);
		}

		if (length == 0)
		{
			str_pos = position + offset;
			offset = str_pos + 1;
			length++;
			compare++;
		}
		else
		{
			if (position == 0)
			{				
				length++;
				offset++;
				compare++;				
			}
			else
			{
			 	length = 0;
				offset++;
				compare = string2;
			}
		}
	}
	if ((str_pos+1) >= strlen(string1))
		str_pos = 0xffff;
	return (str_pos);
} 


//處理網(wǎng)頁表單傳入的數(shù)據(jù) 
void operate_query_string(char *string)
{
	char *query_string = string;
	cmd_frame_t *p_cframe = &cmd_frame;
	info_frame_t *p_iframe = &info_frame;
	const cmd_type_t *cmd_type = cmd_types; 
	unsigned char tmp_buf[MAX_DEVICE_HEAD_LENGTH][20];
	unsigned int i;
	unsigned short int address;

#ifdef DEBUG_MODE
	printf("<p>data is: %s</p>", string);
	printf("<p>length is: %d</p>", strlen(string));
#endif
	
	for (i=0; i<MAX_DEVICE_HEAD_LENGTH; i++)
	{
		query_string = string + strspos(string, (char *)device_head_table[i], MAX_QUERY_STRING_LENGTH);
		sscanf(query_string, "%*[^=]=%[^&]", tmp_buf[i]);
#ifdef DEBUG_MODE
		printf("<p>%s is: %s</p>", device_head_table[i], tmp_buf[i]);
#endif
	}
	
	if (strcmp(tmp_buf[0], "E1_BOARD") == 0)									//device_id
		p_iframe->device_id = E1_BOARD;
	else if (strcmp(tmp_buf[0], "V35_BOARD") == 0)
		p_iframe->device_id = V35_BOARD;	
	else if (strcmp(tmp_buf[0], "FE_BOARD") == 0)	
		p_iframe->device_id = FE_BOARD;
	else if (strcmp(tmp_buf[0], "MAIN_BOARD") == 0)	
		p_iframe->device_id = MAIN_BOARD;
/*	
	printf("<p>device_name is: %s</p>", tmp_buf[0]);
	printf("<p>cmd_name is: %s</p>", tmp_buf[1]);
	printf("<p>location is: %s</p>", tmp_buf[2]);
	printf("<p>operation is: %s</p>", tmp_buf[3]);
*/	
	sscanf(tmp_buf[4], "%hd", &address);
	p_cframe->dst_addr[1] = (unsigned char)(address >> 8);
	p_cframe->dst_addr[2] = (unsigned char)(address);
	
	//printf("<p>dst_addr1 is: %x</p>", p_cframe->dst_addr[1]);
	//printf("<p>dst_addr2 is: %x</p>", p_cframe->dst_addr[2]);
	for (i=0; i<MAX_CMD_NUMBER; i++)																//cmd_code_send
	{
		if (strcmp(tmp_buf[1], cmd_type[i].cmd_name) == 0)
		{
			if (strcmp(tmp_buf[3], "set") == 0)
				p_cframe->cmd_code_send = cmd_type[i].cmd_set;
			else if (strcmp(tmp_buf[3], "query") == 0)
				p_cframe->cmd_code_send = cmd_type[i].cmd_read;
			break;
		}
	}	

#ifdef DEBUG_MODE	
	printf("<p>cmd_code_send is: %x</p>", p_cframe->cmd_code_send);
#endif
	analysis_web_cmd(string);			

} 
 
 
//解幀并下發(fā)
void analysis_web_cmd(char *string)
{
	cmd_frame_t *p_cframe = &cmd_frame;
	info_frame_t *p_iframe = &info_frame;	
	char *query_string = string;
	unsigned char info_buf[14][15];
	//unsigned char frame[20];
	unsigned char temp_buf[3];
	unsigned int i, k = 0;
	unsigned int idx = 0;
	unsigned int offset;
	unsigned char tmp_val = 0;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产揄拍国内精品对白| 欧美mv和日韩mv国产网站| 中文字幕av一区 二区| 国产福利视频一区二区三区| 欧美激情综合在线| www.亚洲免费av| 亚洲精品乱码久久久久久久久| 成人99免费视频| 悠悠色在线精品| 日韩一级黄色大片| 久久精品国产亚洲5555| 国产亚洲一区二区三区| 99视频精品免费视频| 一区二区三区四区国产精品| 欧美日韩一区二区在线观看 | 91精品国产色综合久久不卡蜜臀 | 国内精品伊人久久久久av一坑| 久久久久久**毛片大全| 99精品久久只有精品| 亚洲福利一区二区三区| 欧美xxxxxxxx| 91视频国产观看| 青青草成人在线观看| 久久久五月婷婷| 91国内精品野花午夜精品| 美腿丝袜亚洲综合| 国产女人18毛片水真多成人如厕| 在线免费观看日韩欧美| 精品在线亚洲视频| 一区二区在线观看不卡| 日韩免费视频一区二区| 99这里只有精品| 黄页视频在线91| 一区二区三区国产豹纹内裤在线| 91.xcao| 懂色av中文字幕一区二区三区 | 91在线播放网址| 捆绑调教美女网站视频一区| 最新久久zyz资源站| 91精品国产福利| 91原创在线视频| 国产一区二三区好的| 亚洲大尺度视频在线观看| 精品国一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 日本久久电影网| 国产乱人伦精品一区二区在线观看 | 99视频一区二区| 国产精品一区久久久久| 欧美bbbbb| 亚洲大片免费看| 亚洲精品第一国产综合野| 国产午夜亚洲精品午夜鲁丝片 | 午夜精品一区在线观看| 国产精品国产三级国产有无不卡 | 国产精品系列在线播放| 日韩高清一级片| 亚洲免费观看在线视频| 日本一区二区三区在线不卡| 精品日韩成人av| 7777精品伊人久久久大香线蕉的| 99视频一区二区三区| 国产精品1区2区| 狠狠色丁香九九婷婷综合五月| 午夜电影久久久| 亚洲一区二区三区四区不卡| 亚洲欧美偷拍卡通变态| 亚洲国产精品成人综合色在线婷婷 | 亚洲蜜桃精久久久久久久| 久久久www成人免费无遮挡大片| 91精品欧美久久久久久动漫| 欧美性大战久久久| 欧美优质美女网站| 91激情五月电影| 在线视频亚洲一区| 91黄色激情网站| 欧美色中文字幕| 欧美精品tushy高清| 91福利区一区二区三区| 91在线码无精品| 91蝌蚪porny九色| 色天天综合色天天久久| 色婷婷av一区二区三区gif| 色94色欧美sute亚洲线路一久| 99久久精品国产精品久久| 97精品久久久久中文字幕| 91美女在线看| 欧美影片第一页| 欧美日韩在线直播| 欧美久久久久久蜜桃| 欧美久久久久久久久中文字幕| 欧美色窝79yyyycom| 欧美日韩一区视频| 欧美一级午夜免费电影| 日韩欧美激情在线| 久久综合色天天久久综合图片| 久久久综合精品| 国产精品国产馆在线真实露脸 | 国产剧情一区二区三区| 国产美女在线精品| av电影在线观看不卡| 欧美在线三级电影| 欧美肥大bbwbbw高潮| 精品国产第一区二区三区观看体验| 久久一区二区三区国产精品| 亚洲国产成人午夜在线一区| 亚洲精品视频一区| 日本aⅴ免费视频一区二区三区| 激情都市一区二区| 色屁屁一区二区| 日韩一区二区免费电影| 国产精品丝袜久久久久久app| 亚洲美女电影在线| 蜜臀精品久久久久久蜜臀| 成人精品gif动图一区| 精品婷婷伊人一区三区三| 久久久噜噜噜久久中文字幕色伊伊 | 久久久久一区二区三区四区| 亚洲柠檬福利资源导航| 奇米精品一区二区三区在线观看一| 国产一区二区在线看| 日本精品一区二区三区四区的功能| 日韩亚洲欧美在线| 日韩一区欧美一区| 美国欧美日韩国产在线播放 | 欧美日韩黄色一区二区| 日本一区二区视频在线| 日本欧美加勒比视频| 91在线你懂得| 国产午夜精品一区二区三区视频 | 国产精品美日韩| 免费在线观看一区| 色婷婷精品大在线视频| www成人在线观看| 亚洲v中文字幕| 91天堂素人约啪| 亚洲精品一区二区三区99| 亚洲图片欧美视频| 成年人国产精品| 精品三级av在线| 亚洲精品中文在线观看| 国产精品一区二区在线观看网站| 欧美日韩aaa| 亚洲三级在线看| 成人午夜电影小说| 精品久久久久久最新网址| 亚洲成人免费在线观看| 91小宝寻花一区二区三区| 久久久久久电影| 久久电影网电视剧免费观看| 在线观看视频91| 亚洲欧美日韩一区二区三区在线观看| 狠狠色丁香婷婷综合久久片| 日韩欧美一区在线| 五月天精品一区二区三区| 日本乱人伦aⅴ精品| 亚洲欧美另类图片小说| 成人av在线一区二区三区| 久久丝袜美腿综合| 久久99国内精品| 日韩一区二区三区四区| 日韩高清欧美激情| 欧美军同video69gay| 亚洲v日本v欧美v久久精品| 在线观看视频一区| 亚洲精品免费播放| 欧美色倩网站大全免费| 亚洲午夜一区二区三区| 欧美伊人精品成人久久综合97 | 日韩一区二区电影| 全国精品久久少妇| 日韩欧美中文一区| 国模套图日韩精品一区二区| 精品1区2区在线观看| 久久99久久久欧美国产| 精品91自产拍在线观看一区| 国产伦理精品不卡| 中文字幕国产精品一区二区| 成人午夜电影网站| 亚洲美女淫视频| 欧美久久久影院| 国产综合久久久久久久久久久久| 精品国产乱码久久久久久免费| 国产一区二区剧情av在线| 久久精品视频在线免费观看| 国产成人综合在线观看| 最新热久久免费视频| 欧美色电影在线| 青青草97国产精品免费观看无弹窗版 | 欧美成人免费网站| 国产激情视频一区二区三区欧美 | 亚洲国产成人porn| 欧美一区二区三区播放老司机| 另类小说欧美激情| 国产精品免费丝袜| 欧美性猛片xxxx免费看久爱| 蜜桃在线一区二区三区| 国产精品伦理一区二区| 欧美日韩国产色站一区二区三区| 九一九一国产精品|