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