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

📄 overhead.c.bak

📁 单片机程序代码,经过很详细的测试.呵呵,硬件相关.
💻 BAK
📖 第 1 页 / 共 4 页
字号:
						case 16: outporth=0x1C;
	         					outportl=0x40;
			 					break;
						case 17: outporth=0x21;
		    	     			outportl=0x40;
					 			break;
						case 18: outporth=0x22;
	         					outportl=0x40;
			 					break;
						case 19: outporth=0x23;
			         			outportl=0x40;
					 			break;
						case 20: outporth=0x24;
	         					outportl=0x40;
			 					break;
						case 21: outporth=0x29;
						         outportl=0x40;
								 break;
					    default: break;
					}
					switch (boardid){
						case 1: 
						case 2: 
						case 3: if (start_flg[boardid] == 0){
									for (temp = 0; temp <= 14; temp++){
										j_rx[temp] = se0111_reg_rd(outporth,outportl + temp + 1,boardid);
									}
						    		return_value = 0;
								}
								else return_value = 2;
								break;
						default:return_value = 2;
								break;
					}
					break;
		default: return_value = 2;
				 break;
	}
	if (!GetResRdyTbl(17))
		SetResRdyTbl(17); 
	return (return_value);
}

void report_overheadj_value(unsigned char value){
//C22回复函数
unsigned char xdata temp;
unsigned char xdata temp_value;

	tx_buf[0] = '$';
	tx_buf[1] = '2';
	tx_buf[2] = '1';
	tx_buf[3] = 'C';
	tx_buf[4] = '2';
	tx_buf[5] = '2';
	tx_buf[6] = '0';
	tx_buf[7] = '0';
	tx_buf[8] = '1';
	tx_buf[9] = 'F';
	tx_buf[10] = value + 0x30;
	for	(temp = 0; temp <= 14; temp++){
		temp_value = j_rx[temp] >> 4;
		if (temp_value > 9)
			tx_buf[2 * temp + 11] = temp_value + 0x37;
		else tx_buf[2 * temp + 11] = temp_value + 0x30;
		temp_value = j_rx[temp] & 0x0F;
		if (temp_value > 9)
			tx_buf[2 * temp + 12] = temp_value + 0x37;
		else tx_buf[2 * temp + 12] = temp_value + 0x30;
	}
	tx_buf[41] = '*';
	tx_buf_pointer = 0;	
	while(tx_buf[tx_buf_pointer] != '*'){
		SBUF = tx_buf[tx_buf_pointer];
		while(tx_done == 0);
		tx_done = 0;
		tx_buf_pointer++;
	}
	SBUF = tx_buf[tx_buf_pointer];          //发送最后一个字符'*'
	while(tx_done == 0);
	tx_done = 0;
}

unsigned char set_overheadj_value(struct cmd_para_save *set_overheadj){
//C23配置j开销字节值
unsigned char xdata boardid;
unsigned char xdata portid;
unsigned char xdata timeid;
unsigned char xdata outporth;
unsigned char xdata outportl;
unsigned int  xdata overhead_name;
unsigned char xdata return_value;
unsigned char xdata temp;

	commandid = 0x00433233;
	boardid = set_overheadj -> ohjset_board;
	portid = set_overheadj -> ohjset_port;
	timeid = set_overheadj -> ohjset_slot;
	overhead_name = set_overheadj-> ohjset_name;

	switch (overhead_name){
		case 0x4A31: if (boardid == 4 & start_flg[0] == 0){				 //J1字节光分支盘OTB
						if (portid == 1){                                //光分支7860A口
							f2rc7860_wr(F2PohJ1_tx1_a,0x80);
							f2rc7860_wr(F2PohJ1_tx2_a,j_tx[0] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx3_a,j_tx[1] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx4_a,j_tx[2] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx5_a,j_tx[3] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx6_a,j_tx[4] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx7_a,j_tx[5] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx8_a,j_tx[6] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx9_a,j_tx[7] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx10_a,j_tx[8] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx11_a,j_tx[9] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx12_a,j_tx[10] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx13_a,j_tx[11] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx14_a,j_tx[12] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx15_a,j_tx[13] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx16_a,j_tx[14] & 0x7F);

							f2rc7860_wr(F2PohJ1rx_cntr1_a,0x80);
							f2rc7860_wr(F2PohJ1rx_cntr2_a,j_tx[0] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr3_a,j_tx[1] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr4_a,j_tx[2] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr5_a,j_tx[3] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr6_a,j_tx[4] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr7_a,j_tx[5] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr8_a,j_tx[6] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr9_a,j_tx[7] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr10_a,j_tx[8] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr11_a,j_tx[9] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr12_a,j_tx[10] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr13_a,j_tx[11] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr14_a,j_tx[12] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr15_a,j_tx[13] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr16_a,j_tx[14] & 0x7F);
							return_value = 0;
						}
						else if (portid == 2){                           //光分支7860B口
							f2rc7860_wr(F2PohJ1_tx1_b,0x80);
							f2rc7860_wr(F2PohJ1_tx2_b,j_tx[0] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx3_b,j_tx[1] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx4_b,j_tx[2] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx5_b,j_tx[3] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx6_b,j_tx[4] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx7_b,j_tx[5] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx8_b,j_tx[6] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx9_b,j_tx[7] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx10_b,j_tx[8] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx11_b,j_tx[9] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx12_b,j_tx[10] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx13_b,j_tx[11] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx14_b,j_tx[12] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx15_b,j_tx[13] & 0x7F);
							f2rc7860_wr(F2PohJ1_tx16_b,j_tx[14] & 0x7F);

							f2rc7860_wr(F2PohJ1rx_cntr1_b,0x80);
							f2rc7860_wr(F2PohJ1rx_cntr2_b,j_tx[0] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr3_b,j_tx[1] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr4_b,j_tx[2] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr5_b,j_tx[3] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr6_b,j_tx[4] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr7_b,j_tx[5] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr8_b,j_tx[6] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr9_b,j_tx[7] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr10_b,j_tx[8] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr11_b,j_tx[9] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr12_b,j_tx[10] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr13_b,j_tx[11] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr14_b,j_tx[12] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr15_b,j_tx[13] & 0x7F);
							f2rc7860_wr(F2PohJ1rx_cntr16_b,j_tx[14] & 0x7F);
							return_value = 0;
						}
						else return_value = 2;
					 }
					 else if (boardid == 5){                            //主光盘MCB
					  	if (portid == 1){
							PohJ1_tx1_a = 0x80;
							PohJ1_tx2_a = j_tx[0] & 0x7F;
							PohJ1_tx3_a = j_tx[1] & 0x7F;
							PohJ1_tx4_a = j_tx[2] & 0x7F;
							PohJ1_tx5_a = j_tx[3] & 0x7F;
							PohJ1_tx6_a = j_tx[4] & 0x7F;
							PohJ1_tx7_a = j_tx[5] & 0x7F;
							PohJ1_tx8_a = j_tx[6] & 0x7F;
							PohJ1_tx9_a = j_tx[7] & 0x7F;
							PohJ1_tx10_a = j_tx[8] & 0x7F;
							PohJ1_tx11_a = j_tx[9] & 0x7F;
							PohJ1_tx12_a = j_tx[10] & 0x7F;
							PohJ1_tx13_a = j_tx[11] & 0x7F;
							PohJ1_tx14_a = j_tx[12] & 0x7F;
							PohJ1_tx15_a = j_tx[13] & 0x7F;
							PohJ1_tx16_a = j_tx[14] & 0x7F;

							PohJ1rx_cntr1_a = 0x80;
							PohJ1rx_cntr2_a = j_tx[0] & 0x7F;
							PohJ1rx_cntr3_a = j_tx[1] & 0x7F;
							PohJ1rx_cntr4_a = j_tx[2] & 0x7F;
							PohJ1rx_cntr5_a = j_tx[3] & 0x7F;
							PohJ1rx_cntr6_a = j_tx[4] & 0x7F;
							PohJ1rx_cntr7_a = j_tx[5] & 0x7F;
							PohJ1rx_cntr8_a = j_tx[6] & 0x7F;
							PohJ1rx_cntr9_a = j_tx[7] & 0x7F;
							PohJ1rx_cntr10_a = j_tx[8] & 0x7F;
							PohJ1rx_cntr11_a = j_tx[9] & 0x7F;
							PohJ1rx_cntr12_a = j_tx[10] & 0x7F;
							PohJ1rx_cntr13_a = j_tx[11] & 0x7F;
							PohJ1rx_cntr14_a = j_tx[12] & 0x7F;
							PohJ1rx_cntr15_a = j_tx[13] & 0x7F;
							PohJ1rx_cntr16_a = j_tx[14] & 0x7F;
							return_value = 0;
						}
						else if (portid == 2){
							PohJ1_tx1_b = 0x80;
							PohJ1_tx2_b = j_tx[0] & 0x7F;
							PohJ1_tx3_b = j_tx[1] & 0x7F;
							PohJ1_tx4_b = j_tx[2] & 0x7F;
							PohJ1_tx5_b = j_tx[3] & 0x7F;
							PohJ1_tx6_b = j_tx[4] & 0x7F;
							PohJ1_tx7_b = j_tx[5] & 0x7F;
							PohJ1_tx8_b = j_tx[6] & 0x7F;
							PohJ1_tx9_b = j_tx[7] & 0x7F;
							PohJ1_tx10_b = j_tx[8] & 0x7F;
							PohJ1_tx11_b = j_tx[9] & 0x7F;
							PohJ1_tx12_b = j_tx[10] & 0x7F;
							PohJ1_tx13_b = j_tx[11] & 0x7F;
							PohJ1_tx14_b = j_tx[12] & 0x7F;
							PohJ1_tx15_b = j_tx[13] & 0x7F;
							PohJ1_tx16_b = j_tx[14] & 0x7F;

							PohJ1rx_cntr1_b = 0x80;
							PohJ1rx_cntr2_b = j_tx[0] & 0x7F;
							PohJ1rx_cntr3_b = j_tx[1] & 0x7F;
							PohJ1rx_cntr4_b = j_tx[2] & 0x7F;
							PohJ1rx_cntr5_b = j_tx[3] & 0x7F;
							PohJ1rx_cntr6_b = j_tx[4] & 0x7F;
							PohJ1rx_cntr7_b = j_tx[5] & 0x7F;
							PohJ1rx_cntr8_b = j_tx[6] & 0x7F;
							PohJ1rx_cntr9_b = j_tx[7] & 0x7F;
							PohJ1rx_cntr10_b = j_tx[8] & 0x7F;
							PohJ1rx_cntr11_b = j_tx[9] & 0x7F;
							PohJ1rx_cntr12_b = j_tx[10] & 0x7F;
							PohJ1rx_cntr13_b = j_tx[11] & 0x7F;
							PohJ1rx_cntr14_b = j_tx[12] & 0x7F;
							PohJ1rx_cntr15_b = j_tx[13] & 0x7F;
							PohJ1rx_cntr16_b = j_tx[14] & 0x7F;
							return_value = 0;
						}
						else return_value = 2;
					 }
					 else return_value = 2;
					 break;
		case 0x4A32:switch (portid){                                //J2字节 得出Mapper中的支路号
						case 1: outporth=0x05;
	    	    				outportl=0x40;
								break;
						case 2: outporth=0x05;
		        				outportl=0xC0;
								break;
						case 3: outporth=0X06;
		        				outportl=0x40;
								break;
						case 4: outporth=0X06;
		        				outportl=0xC0;
								break;
						case 5: outporth=0x0D;
		        				outportl=0x40;
								break;
						case 6: outporth=0x0D;
	    	    				outportl=0xC0;
								break;
						case 7: outporth=0x0E;
		        				outportl=0x40;
								break;
						case 8: outporth=0x0E;
		        				outportl=0xC0;
								break;
						case 9: outporth=0x15;
		        				outportl=0x40;
								break;
						case 10: outporth=0x15;
		        	 			 outportl=0xC0;
				 			 	 break;
						case 11: outporth=0x16;
			   			      	 outportl=0x40;
								 break;
						case 12: outporth=0x16;
	         					 outportl=0xC0;
								 break;
						case 13: outporth=0x1D;
							     outportl=0x40;
					 			 break;
						case 14: outporth=0x1D;
	         					outportl=0xC0;
			 					break;
						case 15: outporth=0x1E;
			         			outportl=0x40;
					 			break;
						case 16: outporth=0x1E;
	         					outportl=0xC0;
			 					break;
						case 17: outporth=0x25;
			         			outportl=0x40;
					 			break;
						case 18: outporth=0x25;
	         					outportl=0xC0;
			 					break;
						case 19: outporth=0x26;
			         			outportl=0x40;
					 			break;
						case 20: outporth=0x26;
	         					outportl=0xC0;
			 					break;
						case 21: outporth=0x2D;
						         outportl=0x40;
								 break;
					    default: break;
					}
					switch (boardid){                                             
				    	case 1: 
						case 2: 
						case 3: if (start_flg[boardid] == 0){
									se0111_reg_wr(outporth,outportl,0x80,boardid);
									for (temp = 0; temp <= 14; temp++){            //2M盘
										se0111_reg_wr(outporth,outportl + temp + 1,j_tx[temp] & 0x7F,boardid);
									}
									se0111_reg_wr(outporth,outportl + 16,0x80,boardid);
									for (temp = 0; temp <= 14; temp++){            //2M盘
										se0111_reg_wr(outporth,outportl + temp + 17,j_tx[temp] & 0x7F,boardid);
									}
									se0111_reg_wr(outporth,outportl + 32,0x80,boardid);
									for (temp = 0; temp <= 14; temp++){            //2M盘
										se0111_reg_wr(outporth,outportl + temp + 33,j_tx[temp] & 0x7F,boardid);
									}
									se0111_reg_wr(outporth,outportl + 48,0x80,boardid);
									for (temp = 0; temp <= 14; temp++){            //2M盘
										se0111_reg_wr(outporth,outportl + temp + 49,j_tx[temp] & 0x7F,boardid);
									}
								    return_value = 0;
								}
								else return_value = 2;
								break;
						default:return_value = 2;
								break;
					}
					break;
		default: return_value = 2;
				 break;
	}
	if (!GetResRdyTbl(1))
		SetResRdyTbl(1); 
	return (return_value);
}


⌨️ 快捷键说明

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