⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 performance.c.bak

📁 单片机程序代码,经过很详细的测试.呵呵,硬件相关.
💻 BAK
📖 第 1 页 / 共 5 页
字号:
	temp = f2rc7860_rd(F2SohB1e_counth8_a);						//得到B1的高8位计数值                                                                                                                
    temp = (temp << 8) + f2rc7860_rd(F2SohB1e_countl8_a);		//得到B1的低8位计数值                                         
    B1[2] = temp;												//将B1计数器值存入变量
    if ((f2rc7860_rd(F2Intmask0_a) & 0xDA) | (f2rc7860_rd(F2Intmask2_a) & 0xE0) | (f2rc7860_rd(F2Intmask3_a) & 0x80)){	//判断告警是否存在
    	dflg = 1;                                                                                                                         
    }                                                                                                                                         
	else dflg = 0;                                                                                                                   
    if (dflg | intflg_OTBA){									//判断该秒是否误块秒                      
       	default_155M[2] = 1;                                                                                                                         
    }                                                                                                                                         
    else default_155M[2] = 0;
	intflg_OTBA = 0;
    temp = f2rc7860_rd(F2SohB2e_counth8_a);						//得到B2的高8位计数值                                                                                                                                             
    temp = (temp << 8) + f2rc7860_rd(F2SohB2e_countl8_a);		//得到B2的低8位计数值                                         
    B2[2] = temp;												//将B2的计数值存入变量
    temp = f2rc7860_rd(F2SohM1e_counth8_a);						//得到M1即MS-REI的高8位计数值                 
    temp = (temp << 8) + f2rc7860_rd(F2SohM1e_countl8_a);		//得到M1即MS-REI的低8位计数值                                 
    REI_MS[2] += temp;											//将M1即MS-REI的计数值存入变量
    REI_MS_15min[2] += temp;
	check_alarm_otb[1] &= 0xBF;									//清除告警字
	if (REI_MS_15min[2] > REI_MS_MAX[2]){						//判断MS-REI是否过限
		check_alarm_otb[1] |= 0x40;								//写告警字
	}
    temp = f2rc7860_rd(F2PohB3e_counth7_a) & 0x7F;				//得到B3的高7位计数值                                                                                                                                         
    temp = (temp <<	8) + f2rc7860_rd(F2PohB3e_countl8_a);		//得到B3的低8位计数值                                         
    B3[2] = temp;												//将B3的计数值存入变量
    temp = f2rc7860_rd(F2Pohrei_counth7_a) & 0x7F;				//得到HP的REI高7位计数值                      
    temp = (temp << 8) + f2rc7860_rd(F2Pohrei_countl8_a);		//得到HP的REI低8位计数值                              
    REI_HP[2] += temp;											//将HP_REI的值存入变量
    REI_HP_15min[2] += temp;
    check_alarm_otb[1] &= 0xDF;									//清除告警字
	if (REI_HP_15min[2] > REI_HP_MAX[2]){						//判断HP-REI是否过限
		check_alarm_otb[1] |= 0x20;								//写告警字
	}
    temp = f2rc7860_rd(F2Sohpfm_rx_a) & 0x80;					//得到OFS的标志位                     
    OFS[2] += temp >> 7; 										//对OFS变量进行累加   
    OFS_15min[2] += temp >> 7;
    check_alarm_otb[1] &= 0x7F;									//清除告警字
	if (OFS_15min[2] > OFS_MAX[2]){								//判断OFS是否过限
		check_alarm_otb[1] |= 0x80;								//写告警字
	}
	temp = f2rc7860_rd(F2Pjerx_count_a);
    PJC_HP[2] += temp;											//将正指针调整事件计数存入变量                
    PJC_HP_15min[2] += temp;
    check_alarm_otb[1] &= 0xEF;									//清除告警字
	if (PJC_HP_15min[2] > PJC_HP_MAX[2]){						//判断PJC是否过限
		check_alarm_otb[1] |= 0x10;								//写告警字
	}
	temp = f2rc7860_rd(F2Njerx_count_a);
    NJC_HP[2] += temp;											//将负指针调整事件计数存入变量                
    NJC_HP_15min[2] += temp;
	check_alarm_otb[1] &= 0xF7;									//清除告警字
	if (NJC_HP_15min[2] > NJC_HP_MAX[2]){						//判断NJC是否过限
		check_alarm_otb[1] |= 0x08;								//写告警字
	}
//收集OTB盘B口的性能值                                                                        
	temp = f2rc7860_rd(F2SohB1e_counth8_b);						//得到B1的高8位计数值                                     
    temp = (temp << 8) + f2rc7860_rd(F2SohB1e_countl8_b);		//得到B1的低8位计数值                                                     
    B1[3] = temp;												//将B1计数器值存入变量            
    if ((f2rc7860_rd(F2Intmask0_b) & 0xDA) | (f2rc7860_rd(F2Intmask2_b) & 0xE0) | (f2rc7860_rd(F2Intmask3_b) & 0x80)){	//判断告警是否存在
       	dflg = 1;                                                                                                                         
    }                                                                                                                                         
	else dflg = 0;                                                                                                                   
    if (dflg | intflg_OTBB){									//判断该秒是否误块秒                      
   		default_155M[3] = 1;                                                                                                                         
    }                                                                                                                                         
    else default_155M[3] = 0;
	intflg_OTBB = 0;
    temp = f2rc7860_rd(F2SohB2e_counth8_b);						//得到B2的高8位计数值                                                                                                                                             
    temp = (temp << 8) + f2rc7860_rd(F2SohB2e_countl8_b);		//得到B2的低8位计数值                                         
    B2[3] = temp;												//将B2的计数值存入变量
    temp = f2rc7860_rd(F2SohM1e_counth8_b);						//得到M1即MS-REI的高8位计数值                 
    temp = (temp << 8) + f2rc7860_rd(F2SohM1e_countl8_b);		//得到M1即MS-REI的低8位计数值                                 
    REI_MS[3] += temp;											//将M1即MS-REI的计数值存入变量
    REI_MS_15min[3] += temp;
    check_alarm_otb[2] &= 0xBF;									//清除告警字
	if (REI_MS_15min[3] > REI_MS_MAX[3]){						//判断MS-REI是否过限
		check_alarm_otb[2] |= 0x40;								//写告警字
	}
    temp = f2rc7860_rd(F2PohB3e_counth7_b) & 0x7F;				//得到B3的高7位计数值                                                                                                                                       
    temp = (temp <<	8) + f2rc7860_rd(F2PohB3e_countl8_b);		//得到B3的低8位计数值                                         
    B3[3] = temp;												//将B3的计数值存入变量
    temp = f2rc7860_rd(F2Pohrei_counth7_b) & 0x7F;				//得到HP的REI高7位计数值                              
    temp = (temp << 8) + f2rc7860_rd(F2Pohrei_countl8_b);			//得到HP的REI低8位计数值                              
    REI_HP[3] += temp;											//将HP_REI的值存入变量        
    REI_HP_15min[3] += temp;
    check_alarm_otb[2] &= 0xDF;									//清除告警字
	if (REI_HP_15min[3] > REI_HP_MAX[3]){						//判断HP-REI是否过限
		check_alarm_otb[2] |= 0x20;								//写告警字
	}                                    
    temp = f2rc7860_rd(F2Sohpfm_rx_b) & 0x80;					//得到OFS的标志位                                                                                      
    OFS[3] += temp >> 7; 										//对OFS变量进行累加
    OFS_15min[3] += temp >> 7;
    check_alarm_otb[2] &= 0x7F;									//清除告警字
	if (OFS_15min[3] > OFS_MAX[3]){								//判断OFS是否过限
		check_alarm_otb[2] |= 0x80;								//写告警字
	}
	temp = f2rc7860_rd(F2Pjerx_count_b);
    PJC_HP[3] += temp;											//将正指针调整事件计数存入变量             
    PJC_HP_15min[3] += temp;
	check_alarm_otb[2] &= 0xEF;									//清除告警字
	if (PJC_HP_15min[3] > PJC_HP_MAX[3]){						//判断PJC是否过限
		check_alarm_otb[2] |= 0x10;								//写告警字
	}
	temp = f2rc7860_rd(F2Njerx_count_b);
    NJC_HP[3] += temp;											//将负指针调整事件计数存入变量             
    NJC_HP_15min[3] += temp;
	check_alarm_otb[2] &= 0xF7;									//清除告警字
	if (NJC_HP_15min[3] > NJC_HP_MAX[3]){						//判断NJC是否过限
		check_alarm_otb[2] |= 0x08;								//写告警字
	}

	f2rc7860_wr(F2Rdint_clr,0x80);								//清除OTB一些计数器的值
	}
	
//收集3个2M盘的性能值
	for (num = 0; num <= 2; num++){								//设置2M盘的循环体,num表示盘号
		if (start_flg[num + 1] == 0){
//		if (timeslot_2M[num][0])
			EB_2M[num][0] = se0111_reg_rd(Bip2_Arx_count_0H,Bip2_Arx_count_0L,num + 1);	//取得支路1的BIP-2的计数值
//		else EB_2M[num][0] = 0;
//		if (timeslot_2M[num][1])
			EB_2M[num][1] = se0111_reg_rd(Bip2_Arx_count_1H,Bip2_Arx_count_1L,num + 1);	//取得支路2的BIP-2的计数值                                                                
//		else EB_2M[num][1] = 0;
//		if (timeslot_2M[num][2])
	        EB_2M[num][2] = se0111_reg_rd(Bip2_Arx_count_2H,Bip2_Arx_count_2L,num + 1);	                             
//		else EB_2M[num][2] = 0;
//		if (timeslot_2M[num][3])
	        EB_2M[num][3] = se0111_reg_rd(Bip2_Arx_count_3H,Bip2_Arx_count_3L,num + 1);
//		else EB_2M[num][3] = 0;
//		if (timeslot_2M[num][4])
	        EB_2M[num][4] = se0111_reg_rd(Bip2_Arx_count_4H,Bip2_Arx_count_4L,num + 1);
//		else EB_2M[num][4] = 0;
//		if (timeslot_2M[num][5])
	        EB_2M[num][5] = se0111_reg_rd(Bip2_Arx_count_5H,Bip2_Arx_count_5L,num + 1);                                 
//		else EB_2M[num][5] = 0;
//		if (timeslot_2M[num][6])
	        EB_2M[num][6] = se0111_reg_rd(Bip2_Arx_count_6H,Bip2_Arx_count_6L,num + 1);                                 
//		else EB_2M[num][6] = 0;
//		if (timeslot_2M[num][7])
	        EB_2M[num][7] = se0111_reg_rd(Bip2_Arx_count_7H,Bip2_Arx_count_7L,num + 1);
//		else EB_2M[num][7] = 0;
//		if (timeslot_2M[num][8])
	        EB_2M[num][8] = se0111_reg_rd(Bip2_Arx_count_8H,Bip2_Arx_count_8L,num + 1);                                 
//		else EB_2M[num][8] = 0;
//		if (timeslot_2M[num][9])
	        EB_2M[num][9] = se0111_reg_rd(Bip2_Arx_count_9H,Bip2_Arx_count_9L,num + 1);                                
//		else EB_2M[num][9] = 0;
//		if (timeslot_2M[num][10])
	        EB_2M[num][10] = se0111_reg_rd(Bip2_Arx_count_10H,Bip2_Arx_count_10L,num + 1);                                 
//		else EB_2M[num][10] = 0;
//		if (timeslot_2M[num][11])
	        EB_2M[num][11] = se0111_reg_rd(Bip2_Arx_count_11H,Bip2_Arx_count_11L,num + 1);                                  
//		else EB_2M[num][11] = 0;
//		if (timeslot_2M[num][12])
	        EB_2M[num][12] = se0111_reg_rd(Bip2_Arx_count_12H,Bip2_Arx_count_12L,num + 1);                                  
//		else EB_2M[num][12] = 0;
//		if (timeslot_2M[num][13])
	        EB_2M[num][13] = se0111_reg_rd(Bip2_Arx_count_13H,Bip2_Arx_count_13L,num + 1);                                 
//		else EB_2M[num][13] = 0;
//		if (timeslot_2M[num][14])
	        EB_2M[num][14] = se0111_reg_rd(Bip2_Arx_count_14H,Bip2_Arx_count_14L,num + 1);                                  
//		else EB_2M[num][14] = 0;
//		if (timeslot_2M[num][15])
	        EB_2M[num][15] = se0111_reg_rd(Bip2_Arx_count_15H,Bip2_Arx_count_15L,num + 1);                                 
//		else EB_2M[num][15] = 0;
//		if (timeslot_2M[num][16])
	        EB_2M[num][16] = se0111_reg_rd(Bip2_Arx_count_16H,Bip2_Arx_count_16L,num + 1);                                  
//		else EB_2M[num][16] = 0;
//		if (timeslot_2M[num][17])
	        EB_2M[num][17] = se0111_reg_rd(Bip2_Arx_count_17H,Bip2_Arx_count_17L,num + 1);                                 
//		else EB_2M[num][17] = 0;
//		if (timeslot_2M[num][18])
	        EB_2M[num][18] = se0111_reg_rd(Bip2_Arx_count_18H,Bip2_Arx_count_18L,num + 1);                                  
//		else EB_2M[num][18] = 0;
//		if (timeslot_2M[num][19])
	        EB_2M[num][19] = se0111_reg_rd(Bip2_Arx_count_19H,Bip2_Arx_count_19L,num + 1);                                  
//		else EB_2M[num][19] = 0;
//		if (timeslot_2M[num][20])
			EB_2M[num][20] = se0111_reg_rd(Bip2_Arx_count_20H,Bip2_Arx_count_20L,num + 1);	//取得支路21的BIP-2的计数值                                  
//		else EB_2M[num][20] = 0;
        temp = se0111_reg_rd(Rei_Arx_count_0H,Rei_Arx_count_0L,num + 1);		//取得支路1的REI计数值                                                                
        REI_2M[num][0] += temp;                                                                        
        REI_2M_15min[num][0] += temp;
		temp = se0111_reg_rd(Rei_Arx_count_1H,Rei_Arx_count_1L,num + 1);                                                                     
        REI_2M[num][1] += temp;                                      
        REI_2M_15min[num][1] += temp;
       	temp = se0111_reg_rd(Rei_Arx_count_2H,Rei_Arx_count_2L,num + 1);                         

⌨️ 快捷键说明

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