ncc.c

来自「定时器的详细用法,多定时器的互相影响,界面的时延」· C语言 代码 · 共 2,272 行 · 第 1/5 页

C
2,272
字号
 int odu_disp(void)
 {  unsigned char ch,*tempstr,*tempstr2,oss[10];
int i,j,k,t,status,flag=0;
double data;
 	 tempstr="G000000AFA7\r";
									
									
							   	status=OpenComConfig(porto,"COM1",9600,0,8,1,512,512);
		                             if(status!=0)
		                              	{
		                                  	MessagePopup("Error","端口1打不开!");
		                                       	return 0;
		                              	}
									 SetComTime (porto,0.1)  ;
	                                SetCTSMode(porto,LWRS_HWHANDSHAKE_OFF);
		                                     //清空输入和输出缓冲区
	                                      	FlushInQ(porto);
		                                    FlushOutQ(porto);
	
											
	                                     	status=ComWrt(porto,tempstr,strlen(tempstr));
	                                           	if(status!=strlen(tempstr))
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
												Delay(0.1);
												//接收
										//	rvstr2=(char*)malloc(101*sizeof(char)); 
												tempstr2=(char*)malloc(25*sizeof(char));  
		  											status=ComRd(porto,tempstr2,25);
											
													if(status!=25)
													{ MessagePopup("Error","Receive data failed!");
													return 0;
												  // break;
											        	}
												
												tempstr2[24]='\0';
												
												//ResetTextBox (panelo,PANELO_TEXTBOX99,tempstr2);  
												   
											   ch=tempstr2[12]; 
													  switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
														    case 'B':
																	 k=11;
																	 break;
															case 'C':
																	 k=12;
																	 break;
															case 'D':
																	 k=13;
																	 break;
															case 'E':
																	 k=14;
																	 break;
															case 'F':
																	 k=15;
																	 break;
															default:
																	 k=ch-0x30;
																
														}
												ch=tempstr2[13]; 
												 switch(ch)
														{
															case 'A':
																	 j=10;
																	 break;
														    case 'B':
																	 j=11;
																	 break;
															case 'C':
																	 j=12;
																	 break;
															case 'D':
																	 j=13;
																	 break;
															case 'E':
																	 j=14;
																	 break;
															case 'F':
																	 j=15;
																	 break;
															default:
																	 j=ch-0x30;
																
														}
												 k=k*16+j;	data=k;
												 
												 ch=tempstr2[10]; 
													  switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
														    case 'B':
																	 k=11;
																	 break;
															case 'C':
																	 k=12;
																	 break;
															case 'D':
																	 k=13;
																	 break;
															case 'E':
																	 k=14;
																	 break;
															case 'F':
																	 k=15;
																	 break;
															default:
																	 k=ch-0x30;
																
														}
												ch=tempstr2[11]; 
												 switch(ch)
														{
															case 'A':
																	 j=10;
																	 break;
														    case 'B':
																	 j=11;
																	 break;
															case 'C':
																	 j=12;
																	 break;
															case 'D':
																	 j=13;
																	 break;
															case 'E':
																	 j=14;
																	 break;
															case 'F':
																	 j=15;
																	 break;
															default:
																	 j=ch-0x30;
																
														}
												 	   k=k*16+j;
												 data=k*256+data;	  
												 data+=13950;	  
												 sprintf(oss,"%5.0f",data); 
												 ResetTextBox (panelo,PANELO_TEXTBOX1,oss);  
												 //SetCtrlVal (panelo,PANELO_TEXTBOX1,oss); 
												 
												  ch=tempstr2[20]; 
													  switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
														    case 'B':
																	 k=11;
																	 break;
															case 'C':
																	 k=12;
																	 break;
															case 'D':
																	 k=13;
																	 break;
															case 'E':
																	 k=14;
																	 break;
															case 'F':
																	 k=15;
																	 break;
															default:
																	 k=ch-0x30;
																
														}
												ch=tempstr2[21]; 
												 switch(ch)
														{
															case 'A':
																	 j=10;
																	 break;
														    case 'B':
																	 j=11;
																	 break;
															case 'C':
																	 j=12;
																	 break;
															case 'D':
																	 j=13;
																	 break;
															case 'E':
																	 j=14;
																	 break;
															case 'F':
																	 j=15;
																	 break;
															default:
																	 j=ch-0x30;
																
														}
												 k=k*16+j;	data=k;
												 
												ch=tempstr2[18]; 
													  switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
														    case 'B':
																	 k=11;
																	 break;
															case 'C':
																	 k=12;
																	 break;
															case 'D':
																	 k=13;
																	 break;
															case 'E':
																	 k=14;
																	 break;
															case 'F':
																	 k=15;
																	 break;
															default:
																	 k=ch-0x30;
																
														}
												ch=tempstr2[19]; 
												 switch(ch)
														{
															case 'A':
																	 j=10;
																	 break;
														    case 'B':
																	 j=11;
																	 break;
															case 'C':
																	 j=12;
																	 break;
															case 'D':
																	 j=13;
																	 break;
															case 'E':
																	 j=14;
																	 break;
															case 'F':
																	 j=15;
																	 break;
															default:
																	 j=ch-0x30;
																
														}
												 		k=k*16+j;
												 data=data+k*256;//  
												 data+=12200;   
													 sprintf(oss,"%5.0f",data);  
													  ResetTextBox (panelo,PANELO_TEXTBOX2,oss);  
												 //SetCtrlVal (panelo,PANELO_TEXTBOX2,oss); 
												 
												 
												  free(tempstr2);  ///free(rvstr2);  
												  
												  Delay(0.15); 
												  
												  //察看ODU衰减
										
												    tempstr="G000000ASB4\r";
									
															  
	                                      	FlushInQ(porto);
		                                    FlushOutQ(porto);
	
	                                     	status=ComWrt(porto,tempstr,strlen(tempstr));
	                                           	if(status!=strlen(tempstr))
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
												//接收
												Delay(0.1);
												
												//	rvstr2=(char*)malloc(101*sizeof(char)); 
												tempstr2=(char*)malloc(32*sizeof(char));  
		  											status=ComRd(porto,tempstr2,30);
											
													if(status!=30)
													{ MessagePopup("Error","Receive data failed!");
													return 0;
												  // break;
											        	}
												
											
												tempstr2[31]='\0';
											
											   
												   
												      	ch=tempstr2[26]; 
														
														switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
														    case 'B':
																	 k=11;
																	 break;
															case 'C':
																	 k=12;
																	 break;
															case 'D':
																	 k=13;
																	 break;
															case 'E':
																	 k=14;
																	 break;
															case 'F':
																	 k=15;
																	 break;
															default:
																	 k=ch-0x30;
																
														}
												
											ch=tempstr2[27]; 
												 
												 switch(ch)
														{
															case 'A':
																	 j=10;
																	 break;
														    case 'B':
																	 j=11;
																	 break;
															case 'C':
																	 j=12;
																	 break;
															case 'D':
																	 j=13;
																	 break;
															case 'E':
																	 j=14;
																	 break;
															case 'F':
																	 j=15;
																	 break;
															default:
																	 j=ch-0x30;
																
														}
												 
												 k=k*16+j;		data=k/4;
										sprintf(oss,"%2.0f",data); 
										 ResetTextBox (panelo,PANELO_TEXTBOX4,oss);  
												// SetCtrlVal (panelo,PANELO_TEXTBOX4,oss);
											ch=tempstr2[24];  
												 switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
														    case 'B':
																	 k=11;
																	 break;
															case 'C':
																	 k=12;
																	 break;
															case 'D':
																	 k=13;
																	 break;
															case 'E':
																	 k=14;
																	 break;
															case 'F':
																	 k=15;
																	 break;
															default:
																	 k=ch-0x30;
																
														}
												 ch=tempstr2[25]; 
												 switch(ch)
														{
															case 'A':
																	 j=10;
																	 break;
														    case 'B':
																	 j=11;
																	 break;
															case 'C':
																	 j=12;
																	 break;
															case 'D':
																	 j=13;
																	 break;
															case 'E':
																	 j=14;
																	 break;
															case 'F':
																	 j=15;
																	 break;
															default:
																	 j=ch-0x30;
																
														}
												 
												 k=k*16+j;   data=k/4;
												 sprintf(oss,"%2.0f",data);   
												// SetCtrlVal (panelo,PANELO_TEXTBOX3,oss);
													 ResetTextBox (panelo,PANELO_TEXTBOX3,oss);  
												   free(tempstr2);
												  
							            /*tempstr="G000000DAA5\r";
									
									
							   	status=OpenComConfig(comselect,"COM1",btlselect,jhselect,longselect,stopselect,512,512);
		                             if(status!=0)
		                              	{
		                                  	MessagePopup("Error","config failed!");
		                                       	return 0;
		                              	}
									 SetComTime (comselect,0.1)  ;
	                                SetCTSMode(comselect,LWRS_HWHANDSHAKE_OFF);
		                                     //清空输入和输出缓冲区
	                                      	FlushInQ(comselect);
		                                    FlushOutQ(comselect);
	
		                               			  	//将接收信息写入文本框  
		                               		//status=ResetTextBox (TabPanelHandle,TABPANEL1_TEXTBOX1,tempstr);            
	                                          	//发送
	                                     	status=ComWrt(comselect,tempstr,strlen(tempstr));
	                                           	if(status!=strlen(tempstr))
												{ MessagePopup("Error","Send data failed!");
												   break;
												}
												//接收
												 tempstr2=(char*)malloc(23*sizeof(char)); 
		  											status=ComRd(comselect,tempstr2,22);
											
													if(status!=22)
													{ MessagePopup("Error","Receive data failed!");
												  // break;
											        	}
													tempstr2[22]='\0';
													
												   status=ResetTextBox (TabPanelHandle,TABPANELO_TEXTBOX1,tempstr2); 
												   
												   ch=tempstr2[10];
												switch(ch)
														{
															case 'A':
																	 k=10;
																	 break;
											

⌨️ 快捷键说明

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