📄 per_q.c
字号:
/****************************************/
/* Copyright (c) 2004, 通信工程学院戴佳 */
/* All rights reserved. */
/* 作 者:戴佳 */
/****************************************/
//性能查询
#include <other.h>
void PolFill(struct instruction AlmValue);
void Perf_query()
{
//struct instruction AlmVal;
struct instruction PolVal;
uchar i,j;
uchar xdata tmp[16];
uchar xdata tmp2[16];
if (f40ms==1)
{
f40ms=0;
for (i=0;i<16;i++)
{
switch (i)
{
case 0: tmp[i]=M1_033;tmp2[i]=M1_034;break;
case 1: tmp[i]=M1_063;tmp2[i]=M1_064;break;
case 2: tmp[i]=M1_093;tmp2[i]=M1_094;break;
case 3: tmp[i]=M1_0C3;tmp2[i]=M1_0C4;break;
case 4: tmp[i]=M2_033;tmp2[i]=M2_034;break;
case 5: tmp[i]=M2_063;tmp2[i]=M2_064;break;
case 6: tmp[i]=M2_093;tmp2[i]=M2_094;break;
case 7: tmp[i]=M2_0C3;tmp2[i]=M2_0C4;break;
case 8: tmp[i]=M3_033;tmp2[i]=M3_034;break;
case 9: tmp[i]=M3_063;tmp2[i]=M3_064;break;
case 10: tmp[i]=M3_093;tmp2[i]=M3_094;break;
case 11: tmp[i]=M3_0C3;tmp2[i]=M3_0C4;break;
case 12: tmp[i]=M4_033;tmp2[i]=M4_034;break;
case 13: tmp[i]=M4_063;tmp2[i]=M4_064;break;
case 14: tmp[i]=M4_093;tmp2[i]=M4_094;break;
case 15: tmp[i]=M4_0C3;tmp2[i]=M4_0C4;break;
}
CounterBIP[i]=CounterBIP[i]+tmp[i];
}
}
if (f1s==0x01)
{
f1s=0;
for (i=0;i<16;i++)
{
if (f[i]==1)
{
if ((CounterBIP[i]>0)&&(CounterBIP[i]<SESNUM))
{
CounterES[i]++;
if ((CounterES[i]>=ESThre[i])&&(ESAlm[i]==0)&&(FgPEREn[i]==1))
{
ESAlm[i]=1;
PolVal.head=0x08;
PolVal.oper_obj=16;
PolVal.ObjVal[0]=i;
PolFill(PolVal);
}
if (USFlag[i]==0)
k[i]=0;
else if (m!=0)
m[i]--;
else
{
USFlag[i]=0;
CounterUS[i]=CounterUS[i]-10;
// l=0;
}
}
else if (CounterBIP[i]>=SESNUM)
{
CounterES[i]++;
CounterSES[i]++;
if ((CounterSES[i]>=SESThre[i])&&(SESAlm[i]==0)&&(FgPEREn[i]==1))
{
SESAlm[i]=1;
PolVal.head=0x08;
PolVal.oper_obj=17;
PolVal.ObjVal[0]=i;
PolFill(PolVal);
}
if (k[i]!=10)
k[i]++;
else
{
if (USFlag[i]==0)
{
USFlag[i]=1;
CounterUS[i]=CounterUS[i]+11;
}
else
CounterUS[i]++;
if ((CounterUS[i]>=USThre[i])&&(USAlm[i]==0)&&(FgPEREn[i]==1))
{
USAlm[i]=1;
PolVal.head=0x08;
PolVal.oper_obj=18;
PolVal.ObjVal[0]=i;
PolFill(PolVal);
}
m[i]=10;
}
}
}
CounterBIP[i]=0;
}
if (f15min==1)
{
f15min=0;
for (i=0;i<7;i++)
{
for (j=0;j<16;j++)
{
switch (i)
{
case 0:
if (CounterES[j]-CounterUS[j]>255)
{
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=(CounterES[j]-CounterUS[j])>>8;
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=(CounterES[j]-CounterUS[j])&0x00FF;
}
else
{
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=0;
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterES[j]-CounterUS[j];
}
break;
case 1:
if (CounterSES[j]-CounterUS[j]>255)
{
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=(CounterSES[j]-CounterUS[j])>>8;
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=(CounterSES[j]-CounterUS[j])&0x00FF;
}
else
{
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=0;
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterSES[j]-CounterUS[j];
}
break;
case 2:
if (CounterUS[j]>255)
{
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=CounterUS[j]>>8;
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterUS[j]&0x00FF;
}
else
{
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=0;
*(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterUS[j];
}
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
}
}
}
PolVal.head=0x10;
PolFill(PolVal);
for (i=0;i<16;i++)
{
CounterES[i]=0;
CounterSES[i]=0;
CounterUS[i]=0;
ESAlm[i]=0;
SESAlm[i]=0;
USAlm[i]=0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -