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 + -
显示快捷键?