⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analyseframe.c

📁 基于嵌入式web服务器的web应用层代码
💻 C
📖 第 1 页 / 共 4 页
字号:
	//channel = channel;
	//printf("<p>cmd_code_send is: %x</p>", p_cframe->cmd_code_send);
	switch (p_cframe->cmd_code_send)													//frame_info
	{
		case CMD_SET_DXC_TIMESLOT:
			p_cframe->info_length = 7;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)dxc_timeslot_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE
				printf("<p>%s is: %s</p>", dxc_timeslot_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif
			}
/*			
			for (i=0; i<7; i++)
				printf("<p>hexdd = %s</p>", info_buf[i]);
			for (i=0; i<7; i++)
				sscanf(info_buf[i], "%hd", (&frame[i]));
			printf("<p>hex1 = %x</p>", frame[0]);
			printf("<p>hex1 = %x</p>", frame[1]);
			printf("<p>hex1 = %x</p>", frame[2]);
			printf("<p>hex1 = %x</p>", frame[3]);
			printf("<p>hex1 = %x</p>", frame[4]);
			printf("<p>hex1 = %x</p>", frame[5]);
			printf("<p>hex1 = %x</p>", frame[6]);
*/			
			if ((p_cframe->frame_info[3] == 5) && (p_cframe->frame_info[4] == 1))
				frame_ready = FRAME_DOUBLE;
			else
				frame_ready = FRAME_ERROR;
			break;
		case CMD_READ_DXC_TIMESLOT:
			p_cframe->info_length = 4;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)dxc_timeslot_table[3+i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE
				printf("<p>%s is: %s</p>", dxc_timeslot_table[3+i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);	
#endif						
			}	
			frame_ready = FRAME_READY;
			break;
		case CMD_SET_V35_WORKMODE:
			p_cframe->info_length = 7;
			for (i=0; i<2; i++)
			{
				query_string = string + strspos(string, (char *)V35_work_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE
				printf("<p>%s is: %s</p>", V35_work_mode_table[i], info_buf[i]);
				//printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}			
			for (i=2; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)V35_work_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				p_cframe->frame_info[i] = check_frame_info(info_buf[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", V35_work_mode_table[i], info_buf[i]);
				//printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_V35_WORKMODE:
			p_cframe->info_length = 3;
			for (i=0; i<2; i++)
			{
				query_string = string + strspos(string, (char *)V35_work_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE
				printf("<p>%s is: %s</p>", V35_work_mode_table[i], info_buf[i]);
				//printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}
			query_string = string + strspos(string, (char *)V35_work_mode_table[7], MAX_QUERY_STRING_LENGTH);
			sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
			sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
			p_iframe->mode_type = p_cframe->frame_info[i];
#ifdef DEBUG_MODE				
			printf("<p>%s is: %s</p>", V35_work_mode_table[7], info_buf[i]);
			//printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			frame_ready = FRAME_READY;

			break;
/*			
		case CMD_SET_V35_FRAMETYPE:
			p_cframe->info_length = 3;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)V35_frame_type_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				p_cframe->frame_info[i] = check_frame_info(info_buf[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", V35_frame_type_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}
			break;
		case CMD_READ_V35_FRAMETYPE:
			p_cframe->info_length = 2;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)V35_frame_type_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", V35_frame_type_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}
			break;
*/			
		case CMD_SET_V35_TIMESLOT:
			p_cframe->info_length = 3;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)V35_timeslot_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", V35_timeslot_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_V35_TIMESLOT:
			p_cframe->info_length = 2;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)V35_timeslot_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", V35_timeslot_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_V35_ATTRIBUTE:
			p_cframe->info_length = 1;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)V35_work_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", V35_work_mode_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}			
			
			frame_ready = FRAME_READY;
			break;
		case CMD_SET_CLOCK_PRIO:	
			p_cframe->info_length = 10;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)CLK_prio_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				p_cframe->frame_info[i] = check_frame_info2(info_buf[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", CLK_prio_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif				
			}	
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_CLOCK_PRIO:
			p_cframe->info_length = 0;
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_WORK_CLOCK:
			p_cframe->info_length = 0;
			frame_ready = FRAME_READY;
			break;	
		case CMD_READ_CLOCK_INFO:
			p_cframe->info_length = 0;
			frame_ready = FRAME_READY;
			break;
		
		case CMD_SET_FE_UP_BAND:
			p_cframe->info_length = 2;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_up_band_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_up_band_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif					
			}						
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_FE_UP_BAND:
			p_cframe->info_length = 1;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_up_band_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_up_band_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);			
#endif					
			}				
			frame_ready = FRAME_READY;
			break;
		case CMD_SET_FE_PORT_BAND:
			p_cframe->info_length = 3;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_port_band_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_port_band_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);				
#endif				
			}	
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_FE_PORT_BAND:
			p_cframe->info_length = 2;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_port_band_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_port_band_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);				
#endif				
			}	
			frame_ready = FRAME_READY;
			break;	
		case CMD_SET_VLAN_MODE:
			p_cframe->info_length = 2;
			for (i=0; i<1; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_mode_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);	
#endif				
			}		
			
			for (i=1; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				p_cframe->frame_info[i] = check_frame_info(info_buf[i])+1;	//PORT=1, TAG=2
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_mode_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);	
#endif				
			}			
			frame_ready = FRAME_READY;
						
			break;
		case CMD_READ_VLAN_MODE:
			p_cframe->info_length = 1;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_mode_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_mode_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);	
#endif				
			}	
			frame_ready = FRAME_READY;
			break;
		case CMD_SET_VLAN_GROUP:
			p_cframe->info_length = 6;
			for (i=0; i<2; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_group_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_group_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);		
#endif							
			}
			for (i=2; i<p_cframe->info_length; i++)
			{
				if (strspos(string, (char *)FE_vlan_group_table[i], MAX_QUERY_STRING_LENGTH) == 0xffff)
					continue;	
				query_string = string + strspos(string, (char *)FE_vlan_group_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[2+tmp_val]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_group_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[2+tmp_val]);	
#endif				
				tmp_val++;
			}
			p_cframe->info_length = 2 + tmp_val;
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_VLAN_GROUP:
			p_cframe->info_length = 2;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_group_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_group_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);		
#endif							
			}
			frame_ready = FRAME_READY;
			break;
		case CMD_SET_VLAN_TAG:
			p_cframe->info_length = 4;
			for (i=0; i<3; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_tag_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_tag_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);		
#endif							
			}
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_VLAN_TAG:
			p_cframe->info_length = 2;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)FE_vlan_tag_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", FE_vlan_tag_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);		
#endif							
			}
			frame_ready = FRAME_READY;
			break;
		case CMD_READ_WORK_BOARD:
			p_cframe->info_length = 0;
			frame_ready = FRAME_READY;
			break;
		case CMD_SET_PHONE_NUMBER:
			p_cframe->info_length = 1;
			for (i=0; i<p_cframe->info_length; i++)
			{
				query_string = string + strspos(string, (char *)phone_number_table[i], MAX_QUERY_STRING_LENGTH);
				sscanf(query_string, "%*[^=]=%[^&]", info_buf[i]);
				sscanf(info_buf[i], "%hd", &p_cframe->frame_info[i]);
#ifdef DEBUG_MODE				
				printf("<p>%s is: %s</p>", phone_number_table[i], info_buf[i]);
				printf("<p>hex = %x</p>", p_cframe->frame_info[i]);		
#endif							
			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -