ncc.c

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

C
2,272
字号
					//GetCtrlVal (panelx, PANELX_TEXTBOX11,mux_ck1);
				    	GetCtrlVal (panelx, PANELX_TEXTBOX11,&k);  	 
					
		     	strcpy(rvstr2,sendstr2);
					   if(k)
					strcat(rvstr2,"ST");
					   else
						strcat(rvstr2,"TT");    
						 k=strlen(rvstr2);
						 rvstr2[k]='\0'; 
							                 	
						 FlushInQ(portx);
		                 FlushOutQ(portx);	
				   
					                            status=ComWrt(portx,rvstr2,strlen(rvstr2));
	                                           	if(status!=strlen(rvstr2))
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
											//	free(rvstr2);
						
						   
			break;
	}
	return 0;
}
 /*
int CVICALLBACK HELP_EXIT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
		 RemovePopup (0);   
			break;
	}
	return 0;
}

int CVICALLBACK CALL_HELP (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
					   InstallPopup (panelh); 
			break;
	}
	return 0;
}
		*/
int CVICALLBACK CALL_MUX (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{  
	switch (event)
	{
		case EVENT_COMMIT:
					  InstallPopup (panelx);
					  mux_disp();
					  pflag=2;
			break;
	}
	return 0;
}

int CVICALLBACK CALL_MODEM (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{  
	switch (event)
	{
		case EVENT_COMMIT:
					   InstallPopup (panelm);
					   modem_disp();
					   pflag=1;
												 
							
			break;
	}
	return 0;
}

int CVICALLBACK CALL_ODU (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{ 
	switch (event)
	{
		case EVENT_COMMIT:
						InstallPopup (panelo); 
						odu_disp();
						pflag=3;
	}
	return 0;
}

int CVICALLBACK QuitCallback (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			QuitUserInterface (0);
			break;
	}
	return 0;
}
   /*
int CVICALLBACK MODEM_CC (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_TIMER_TICK:

			break;
	}
	return 0;
}

int CVICALLBACK ODU_CC (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_TIMER_TICK:

			break;
	}
	return 0;
}

int CVICALLBACK DISP_CC (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_TIMER_TICK:

			break;
	}
	return 0;
}
	*/


int CVICALLBACK MSET_QUIT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
						  RemovePopup (0);
						  pflag=0;
			break;
	}
	return 0;
}

int CVICALLBACK ODUSET_QUIT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
					   RemovePopup (0);  
					   pflag=0;   
			break;
	}
	return 0;
}
  int modem_disp(void)
  {	   int i,j,k,t,flag=0,status;
double data;
char ch;
unsigned char tmstr[100];
   sendstr1="FA1041098F\r";
						
						   sendstr1[0]=0xFF;  sendstr1[1]=0xA5; sendstr1[2]=0x01; sendstr1[3]=0x00;  sendstr1[4]=0x41; sendstr1[5]=0x01;  
						 sendstr1[6]=0x00; sendstr1[7]=0x96;   sendstr1[8]=0x82;  sendstr1[9]=0xFF; 
					   status = OpenComConfig (portm, "COM1", 9600, 0, 8, 1, 512, 512);
		                             if(status!=0)
		                              	{
		                                  	MessagePopup("Error","端口3打不开!");
		                                       	return 0;
		                              	}
									 SetComTime (portm,0.5)  ;
	                                SetCTSMode(portm,LWRS_HWHANDSHAKE_OFF);
		                                     
	                                      	FlushInQ(portm);
		                                    FlushOutQ(portm);		   
	
	                                     	status=ComWrt(portm, sendstr1,10);
	                                           	if(status!=10)
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
											
												Delay(0.2);
												// rvstr1=(char*)malloc(146*sizeof(char)); 
											status=ComRd(portm,rvstr1,145);
										
												
												  if(status!=145)
													{ //MessagePopup("Error","Receive data failed!");
												       //return 0;
											        	}
												  	rvstr1[145]='\0';
															
												j=0;k=145;t=0;       
								
											
												   for(i=0;i<k;i++)				  
												   { 
													    
													   if( rvstr1[i]==0x5A)
												        flag=1;
												 
												     if(flag)
												       {   
														    t=t+rvstr1[i]; t=t%256;
															if(!t)
																	break;
													
															   tmstr[j]=rvstr1[i];j=j+1;
												       }
												
													}
												if(!flag)
												{	 
													return 0;
												}
												tmstr[j]='\0';   
											
											  data=tmstr[15]+tmstr[16]*256+tmstr[17]*65536+tmstr[18]*16777216;
										
										      data=data/1000000;
														sprintf(modem_fspl,"%3.2f",data);
														ResetTextBox (panelm,PANELM_TEXTBOX1,modem_fspl); 
														flag=0;
														
														k=tmstr[12]&0x10; k=k>>4;
														
															SetCtrlVal (panelm,PANELM_TEXTBOX13,k);  
													
												 
											 
											sendstr1[4]=0x42;	sendstr1[8]=0x81; 
												 
											FlushInQ(portm);
		                                    FlushOutQ(portm);
	
	                                     	status=ComWrt(portm, sendstr1,10);
	                                           	if(status!=10)
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
											
												Delay(0.2);
												// rvstr1=(char*)malloc(146*sizeof(char)); 
											status=ComRd(portm,rvstr1,145);
										
												
												  if(status!=145)
													{ //MessagePopup("Error","Receive data failed!");
												       //return 0;
											        	}
												  	rvstr1[145]='\0';
												j=0;k=145;t=0;       
								
											
												   for(i=0;i<k;i++)				  
												   { 
													    
													   if( rvstr1[i]==0x5A)
												        flag=1;
												 
												     if(flag)
												       {   
														    t=t+rvstr1[i]; t=t%256;
															if(!t)
																	break;
													
															   tmstr[j]=rvstr1[i];j=j+1;
												       }
													 
													}
												if(!flag)		  
												{	 
													return 0;
												}
												tmstr[j]='\0';   
												
												k=tmstr[12]; 
												k=k>>2;j=k&0x0F;
											
													SetCtrlVal (panelm,PANELM_TEXTBOX9,j);   
												
													k=tmstr[12]&0x0002; j=tmstr[14]>>1; i=j&0x0003;k=k+j;
													SetCtrlVal (panelm,PANELM_TEXTBOX11,k);   
												
											  data=tmstr[17]+tmstr[18]*256+tmstr[19]*65536+tmstr[20]*16777216;
										
										     			 data=data/1000;
														 
														sprintf(modem_fssl,"%4.3f",data);
															ResetTextBox (panelm,PANELM_TEXTBOX3,modem_fssl); 
															
															k=tmstr[11]&0x07;
															SetCtrlVal (panelm,PANELM_TEXTBOX5,k);        
														
															
															k=tmstr[13]>>4; k=k&0x07;
															
															SetCtrlVal (panelm,PANELM_TEXTBOX7,k);   
														
													
											 //.......Demod....................
												 sendstr1[4]=0x81;	sendstr1[8]=0x42; 
												 	FlushInQ(portm);
		                                            FlushOutQ(portm);
	
	                                     	status=ComWrt(portm, sendstr1,10);
	                                           	if(status!=10)
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
											
												Delay(0.2);
											//	 rvstr1=(char*)malloc(146*sizeof(char)); 
											status=ComRd(portm,rvstr1,145);
										
												
												  if(status!=145)
													{ //MessagePopup("Error","Receive data failed!");
												       //return 0;
											        	}
												  	rvstr1[145]='\0';
															
												j=0;k=145;t=0;       
								
											
												   for(i=0;i<k;i++)				  
												   { 
													    
													   if( rvstr1[i]==0x5A)
												        flag=1;
												 
												     if(flag)
												       {   
														    t=t+rvstr1[i]; t=t%256;
															if(!t)
																	break;
													
															   tmstr[j]=rvstr1[i];j=j+1;
												       }
													 
													}
												if(!flag)
												{	 
													return 0;
												}
												tmstr[j]='\0';   
											
											  data=tmstr[15]+tmstr[16]*256+tmstr[17]*65536+tmstr[18]*16777216;
										
										      data=data/1000000;
														sprintf(modem_jspl,"%3.2f",data);
											ResetTextBox (panelm,PANELM_TEXTBOX2,modem_jspl);
											
													  
											//	 free(rvstr1);
												 
												 	sendstr1[4]=0x82;	sendstr1[8]=0x41; 
												 
											FlushInQ(portm);
		                                    FlushOutQ(portm);
	
	                                     	status=ComWrt(portm, sendstr1,10);
	                                           	if(status!=10)
												{ MessagePopup("Error","Send data failed!");
												   return 0;
												}
											
												Delay(0.2);
											//	 rvstr1=(char*)malloc(146*sizeof(char)); 
											status=ComRd(portm,rvstr1,145);
										
												
												  if(status!=145)
													{ //MessagePopup("Error","Receive data failed!");
												       //return 0;
											        	}
												  	rvstr1[145]='\0';
															
												j=0;k=145;t=0;       
								
											
												   for(i=0;i<k;i++)				  
												   { 
													    
													   if( rvstr1[i]==0x5A)
												        flag=1;
												 
												     if(flag)
												       {   
														    t=t+rvstr1[i]; t=t%256;
															if(!t)
																	break;
													
															   tmstr[j]=rvstr1[i];j=j+1;
												       }
													 
													}
												if(!flag)
												{	 
													return 0;
												}
												tmstr[j]='\0';   
												
													k=tmstr[12]; 
												k=k>>2;j=k&0x000F;
												 
													SetCtrlVal (panelm,PANELM_TEXTBOX10,j);   
												
													k=tmstr[12]&0x0002; j=tmstr[14]>>1; i=j&0x0003;k=k+j;
													SetCtrlVal (panelm,PANELM_TEXTBOX12,k);   
											
											 data=tmstr[17]+tmstr[18]*256+tmstr[19]*65536+tmstr[20]*16777216;
											  data=data/1000;
										     		
														sprintf(modem_jssl,"%4.3f",data);
															ResetTextBox (panelm,PANELM_TEXTBOX4,modem_jssl);      
											//	 free(rvstr1);
												 	
												 		  	k=tmstr[11]&0x07;
																SetCtrlVal (panelm,PANELM_TEXTBOX6,k);        
														
															k=tmstr[13]>>4; k=k&0x07;
														SetCtrlVal (panelm,PANELM_TEXTBOX8,k);        
															return 1;
												 
												 
  }

int CVICALLBACK M_FRESH (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
					  modem_disp();
					  return 0;
			break;
	}
	return 0;
}

⌨️ 快捷键说明

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