亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lna3.c

?? GSM低噪聲放大器模塊監控處理程序
?? C
?? 第 1 頁 / 共 4 頁
字號:
			{
				buf=Query_csd(1,tn);				
			}
			else if (receive_buf[8]==0x04)//查詢所有頻補參數編碼
			{
				buf=Query_csd(2,pn);	
			}
			else if (receive_buf[8]==0x05)//查詢所有標稱值參數編碼
			{
				buf=Query_csd(3,zyn);				
			}
			else if (receive_buf[8]==0x06)//查詢所有溫補參數表內容
			{
				buf=Query_cszd(tempcszd,tn);		
			}
			else if (receive_buf[8]==0x07)//查詢所有頻補參數表內容
			{
				buf=Query_cszd(freqcszd,pn);		
			}
			else if (receive_buf[8]==0x08)//查詢所有標稱值參數表內容
			{
				buf=Query_cszd(bczcszd,zyn);		
			}
			send_reply_flag(0x00,buf);	
			goto go_return;	
			
		}
		else if(receive_buf[5]==0xd2)//設置表格參數
		{
			if (receive_buf[8]==0x01)//設置所有溫度值
			{
				buf=Set_tp(tempd);
			}
			else if (receive_buf[8]==0x02)//設置所有頻率值
			{
				buf=Set_tp(freqd);	
			}
			else if (receive_buf[8]==0x06)//設置所有溫補參數表內容
			{
				buf =Set_cszd(tempcszd,tn);
			}
			else if (receive_buf[8]==0x07)//設置所有頻補參數表內容
			{
				buf =Set_cszd(freqcszd,pn);
			}
			else if (receive_buf[8]==0x08)//設置所有標稱值參數表內容
			{
				buf =Set_cszd(bczcszd,zyn);
			}
			send_reply_flag(0x00,buf);
			goto go_return;	
		}		
		else
		{
			send_reply_flag(0x09,0x00); //命令編號錯
			goto go_return;
		}
	}
	else if(receive_over == 0 && receive_time_on == 1)
	{
		if(receive_time_count >= 200)
		{
			headend_flag=0x00;
			tran_flag=0x00;//轉義標志,=0為沒有轉義,=1為轉義過了
			receive_time_on = 0;
			receive_time_count = 0;
			receive_free();
			receive_cnt = 0x00;
			CREN = 1;
			RCIE = 1;
			return;
		}
		else 
		{
			receive_time_count++;
			return;
		}
	}
//	T1CON=0x31;
	return;
go_return:
		headend_flag=0x00;
		tran_flag=0x00;//轉義標志,=0為沒有轉義,=1為轉義過了
		receive_free();
		receive_over = 0;
		receive_cnt = 0;
		CREN = 1;
		RCIE = 1;
	//	T1CON=0x31;
		return;
}
/**********************************************************
** 功能說明:  基本數據查詢函數
** 輸入參數:  無	 
** 輸出參數:  
** 返 回 值:  參數個數
** 引用函數: 
*********************************************************/
uchar Query_Basic_Parameter()
{
	uchar buf;
	uchar i ;
	uint j ;
	j = 0x0700;
	buf=receive_buf[8];//BUF為上位機下傳的第幾包數據;命令體的第1個字節為我應傳給上位機第幾包數據
	receive_buf[8]=2;//PIC需上傳總包數為2包;所以命令體的第1個字節變成了總包數.
	if(buf==1)
	{
		receive_buf[9]=1;//表示PIC發送第1包數據
		for(i=0; i<44; i++)
		{
			receive_buf[i+10] = basic_table[i];
		}
		return 46;
	}
	else if(buf==2)//
	{
		receive_buf[9]=2;//表示PIC發送第2包數據
		for(i=0; i<37; i++)
		{
			receive_buf[i+10] = rrom(j + i);
		}
		return 39;
	}
	else
	{
		return 0;
	}

}
/**********************************************************
** 功能說明:  基本信息參數設置函數
** 輸入參數:  無	 
** 輸出參數:  
** 返 回 值:  參數個數
** 引用函數: 
*********************************************************/
uchar Set_Basic_Parameter()
{
	auto union buf_union comm;
	uint i;
	uchar length;
	uchar buf;
	uchar *P = 0;
	length = receive_buf[7];
	P = receive_buf+8;
	erro = 0;
	while(length)
	{
		comm.buf2[0] = *P++;
		comm.buf2[1] = *P++;
		length = length - 2 ;
		switch(comm.buf1)
		{
			case 0xf000:	//模塊ID號
							for(i=0;i<10;i++)
							{
								buf=*P++;
							//	dog();
								wrom(mod_idadd+2+i,buf);		
							}
							length=length-10; 
							break;
			case 0xf002:	Prmter1.ADDR=*P++ ;//模塊地址
							wrom(mod_add_add+2,Prmter1.ADDR);					
							length--; 
							break;	
			case 0xf019:	//生產序列號
							for(i=0;i<20;i++)
							{
								buf=*P++;
							//	dog();
								wrom(product_add+2+i,buf);		
							}
							length=length-20; 
							break;																
			default: 	receive_buf[9] = *--P;
						receive_buf[8] = *--P;
						erro = erro | 0x02;
						length = 0;
						break;//特殊處理
		}
	}
			
	if(erro & 0x02)
	{
		length = 2;//設置參數失敗
	}
	else
	{
		length = receive_buf[7];
	}
	return length;
}
/**********************************************************
** 功能說明:  參數地址查詢函數
** 輸入參數:  無	 
** 輸出參數:  
** 返 回 值:  參數個數
** 引用函數: 
*********************************************************/
uchar Query_Address()
{
	uchar i,buf;
	uchar length;
	buf = receive_buf[8];

	switch(buf)
	{
		case 1:		for(i=0; i<Para_Num; i++)
		       		{
		       			receive_buf[i+8]= Para_Num_Conf[i];
		       			length = Para_Num;
		       		}
		       		break;
		default:	receive_buf[8] = buf;
					length = 1;
					break;
	}
	return length;	
}
/**********************************************************
** 功能說明:  增益實際值補償函數(校準值)
** 輸入參數:  attin     類型:uchar   :標稱值
	      attnb    類型:uchar   :=1,代表第1個增益,=2,代表第2個增益等
** 輸出參數:  
** 返 回 值:  無
** 引用函數: 
*********************************************************/
uchar ATTBU(char attin,uchar attnb)
{
	uchar i;
	uchar buf;
	//buf=attin;//如果比較沒有結果,則返回標稱值原值
	buf=0;//如果比較沒有結果,則返回0
	for (i=0;i<bcnumb;i++)
	{
		B[0]=rrom(bczcszd+zyn*i+attnb-1);//參數值首地址+偏置
		 if (attin==i)
		{
 		//buf=B[0]+buf4;
 		buf=B[0];	
 		break;		     
	        }    	       
	}	
	  B[0]=0; 
	return buf;
}
/**********************************************************
** 功能說明:  頻響實際值補償函數(其實是增益補償)DB/2
關于頻率值計算,設信道號為X,頻點寬為100K,二分頻,則頻率值=信道0時頻率值+信道×0.025
** 輸入參數:  freqin   類型:uchar   :信道值
	          freqnb    類型:uchar   :代表第幾個本振器件。
          
** 輸出參數:  
** 返 回 值:  頻響補償實際值  buf,如果返回值為0,則為沒有補償值
** 引用函數: 
*********************************************************/
uchar FREQBU(uchar freqin,uchar freqnb)
{
	uchar i;
	uchar buf;
	uchar P[2];//EEPROM中信道值1byte
	buf=0;//如果比較沒有結果,則返回0
	
	for (i=0;i<fnumb;i++)//頻率
	{
		 P[0]=rrom(freqd+i);

		 if (i<(fnumb-1))
		 {
		 	P[1]=rrom(freqd+i+1);
		 }
		 else
		 {
		 	P[1]=P[0];
	   	 }
		
	    if (freqin==P[0])
		{
			B[0]=rrom(freqcszd+pn*i+freqnb-1);
 			buf=B[0];
 			break;
 		}
	    else if((freqin>P[0])&&(freqin<P[1]))
	    {   
	     	B[0]=rrom(freqcszd+pn*i+freqnb-1);
		 	B[1]=rrom(freqcszd+pn*(i+1)+freqnb-1);
            if (B[1]>B[0])
            {
	     	B[2]=B[0]+(((B[1]-B[0])*(freqin-P[0]))/(P[1]-P[0]));	
			}
			else
			{
	     	B[2]=B[0]-(((B[0]-B[1])*(freqin-P[0]))/(P[1]-P[0]));	
			}
	     	buf=B[2];
	     	break;	 
	     }      
	}	
	return buf;
}
/**********************************************************
** 功能說明:  溫度補償函數(溫補參數占1個字節,補償電壓為mV單位,增益為DB/2單位等)
** 輸入參數: // buf3     類型:uchar   :buf3=1,表示溫補參數占1個字節;buf3=2,表示溫補參數占2個字節
	     tempnb    類型:uchar   :在溫補表中是第幾個參數,=1,是第1個參數;=2,第2個參數
	    // buf7     類型:uchar   :在tn中參數是第幾個字節開始的參數
	 //     buff:    類型:uchar   :=0:溫度補償函數是△值,=1:溫度補償函數是實際值
** 輸出參數:  
** 返 回 值:  無
** 引用函數: 
*********************************************************/
uchar TEMP(uchar tempnb)
{
		uchar i;
	uchar buf;
	char T[2];//EEPROM?D???è?μ
	uchar buff;
	uchar buf1;
	uchar buf2;
	uchar buf3;
	buf=0;//è?1?±è????óD?á1?£??ò·μ??0
	buf3=0;

	for (i=0;i<tpnumb;i++)
	{
		dog();	
		T[0]=rrom(tempd+i);

		if(i<tpnumb-1)
		{
		T[1]=rrom(tempd+i+1);
		}
		else
		{
		T[1]=T[0];
		}
	    if (Prmter1.TEMP==T[0])
		{
			B[0]=rrom(tempcszd+tn*i+tempnb-1);
			 buf=B[0];
 		  	break;				     
	    }
if ((Prmter1.TEMP>T[0])&&(Prmter1.TEMP<T[1]))
{
	buf3=1;
}
if ((Prmter1.TEMP>T[0])&&(Prmter1.TEMP>T[1])&&(T[1]<0x80)&&(T[0]>0x80))
{
		buf3=1;
}
		if(buf3==1)
	    {
	         B[0]=rrom(tempcszd+tn*i+tempnb-1);
			 B[1]=rrom(tempcszd+tn*(i+1)+tempnb-1);
			 buff=B[1]-B[0];
			 if (buff<0x80)
			 {
			 	buf1=(Prmter1.TEMP-T[0]);
			 	buf2=T[1]-T[0];
			 	buf1=(B[1]-B[0])*buf1;
			 	buf1=buf1/buf2;
			 	buf1=buf1;
			 	B[2]=B[0]+buf1;
			}
			else
			 {
			 	buf1=(Prmter1.TEMP-T[0]);
			 	buf2=T[1]-T[0];
			 	buf1=(B[0]-B[1])*buf1;
			 	buf1=buf1/buf2;
			 	buf1=buf1;
			 	B[2]=B[0]-buf1;
			}
			 
	      	buf=B[2];     	
	        break;
	    }
	  		        	
	}

	       
return buf;
}

/**********************************************************
** 功能說明:  增益校準函數
** 輸入參數:  無	 
** 輸出參數:  
** 返 回 值:  參數個數
** 引用函數: 
*********************************************************/
void gcu_jz()
{
	char GCU1JZ;//增益1的溫補
	char GCU2JZ;//增益2的溫補
	char GCU1ACT;//增益1的標稱值補償
	char GCU2ACT;//增益2的標稱值補償
	GCU1JZ=TEMP(1);//增益1的溫度補償(校準值)
	GCU2JZ=TEMP(2);//增益2的溫度補償(校準值)
	
	GCU1ACT=ATTBU(Prmter1.GCU1,1);//增益1的標稱值補償(校準值)
	GCU2ACT=ATTBU(Prmter1.GCU2,2);//增益2的標稱值補償(校準值)
	
	GCU1JZ=GCU1JZ+GCU1ACT;//增益1的溫補+標稱值補償
	GCU2JZ=GCU2JZ+GCU2ACT;//增益1的溫補+標稱值補償
	//if (GCU1JZ<0)
	//{
	//	GCU1JZ=0;
	//}
	//if (GCU2JZ>=0x80)
	//{
	//	GCU2JZ=0;
	//}
 	sumgcu=Prmter1.GCU1+Prmter1.GCU2;
    if (sumgcu<=10)
	{
	gcu_ctl(0x00,(sumgcu+GCU1JZ));
	gcu_ctl(0x01,GCU2JZ);
	}
	 else if ((sumgcu>10) &&(sumgcu<=20))
	{
	gcu_ctl(0x00,(10+GCU1JZ));
	gcu_ctl(0x01,(sumgcu-10+GCU2JZ));
 	}
	else if ((sumgcu>20) &&(sumgcu<=25 ))
	{
	 gcu_ctl(0x00,(sumgcu-10+GCU1JZ));
	 gcu_ctl(0x01,(10+GCU2JZ));
	}
	 else if(sumgcu>25)
	{
	 gcu_ctl(0x00,(15+GCU1JZ));
	 gcu_ctl(0x01,(sumgcu-15+GCU2JZ));
	}	
	
	
}
/**********************************************************
** 功能說明:  參數設置函數
** 輸入參數:  無	 
** 輸出參數:  
** 返 回 值:  參數個數
** 引用函數: 
**********************************************************/
uchar Set_Parameter()
{
	auto union buf_union comm;
	uchar length;
	uchar *P = 0;
//	uchar buff;
	uchar buf;
//	erro=0;
	length = receive_buf[7];
	P = receive_buf+8;
	while(length)
	{
		comm.buf2[0] = *P++;
		comm.buf2[1] = *P++;
		length = length - 2 ;
		switch(comm.buf1)
		{
			case maxpwr:	Prmter1.max = *P++;
					    	wrom(maxpwradd,Prmter1.max);
					    	buf=Prmter1.max+Prmter1.POFFSET2;
					    	if(buf>=0x80)
					    	{
					    		buf=256-buf;
					    		Prmter1.maxu =250-buf * 5;
					    	}
					    	else if(buf<0x80)
					    	{
					    		Prmter1.maxu =buf * 5+250;
					    	}
//					    	buff=rrom(maxpwradd);
//					    	if(buff!=Prmter1.max)
//					    	{
//					    		wrom(maxpwradd,Prmter1.max);
//					    	}
					   		length--; 
					   		wrom(maxpuadd,Prmter1.maxu);
							DAC(1,Prmter1.maxu);    	 
						    break;
			case maxpu:	Prmter1.maxu = *P++;
					    wrom(maxpuadd,Prmter1.maxu);
//					    buff=rrom(maxpuadd);
//					    if(buff!=Prmter1.maxu)
//					    {
//					    	wrom(maxpuadd,Prmter1.maxu);
//					    }				
					  	P++;
					    length=length-2; 
					    DAC(1,Prmter1.maxu);  
						Prmter1.max =Prmter1.maxu/5-50-Prmter1.POFFSET2;
						wrom(maxpwradd,Prmter1.max);
						break;	

			case gcu1:	Prmter1.GCU1 = *P++;
						wrom(gcu1add,Prmter1.GCU1);
//						buff=rrom(gcu1add);
//					    if(buff!=Prmter1.GCU1)
//					    {
//					    	wrom(gcu1add,Prmter1.GCU1);
//					    }
						length--;
						gcu_jz();
						break;
			case gcu2:	Prmter1.GCU2 = *P++;
						wrom(gcu2add,Prmter1.GCU2);
//						buff=rrom(gcu2add);
//					    if(buff!=Prmter1.GCU2)
//					    {
//					    	wrom(gcu2add,Prmter1.GCU2);
//					    }
						length--;
						gcu_jz();		
						break;	
				
			case poffset1:	 Prmter1.POFFSET1=*P++ ;
							wrom(poff1add,Prmter1.POFFSET1);
//							buff=rrom(poff1add);
//							if(buff!=Prmter1.POFFSET1)
//							{
//								wrom(poff1add,Prmter1.POFFSET1);
//							}			
							length--; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品综合网| 国产精品久久久久天堂| 久久综合九色欧美综合狠狠| 国产免费成人在线视频| 精品播放一区二区| 亚洲免费资源在线播放| 日韩国产在线观看一区| 日韩高清不卡一区二区三区| 亚洲成av人片在线| 成人中文字幕在线| 欧美日本国产视频| 中文av一区二区| 五月天一区二区| 成人免费精品视频| 欧美一级二级三级蜜桃| 国产精品久久免费看| 日本va欧美va精品| 成人精品视频网站| 日韩写真欧美这视频| 亚洲自拍偷拍综合| 国产成人自拍网| 欧美疯狂做受xxxx富婆| 中文字幕乱码久久午夜不卡| 亚洲777理论| 岛国一区二区在线观看| 欧美一区二区日韩| 亚洲精选免费视频| 成人午夜av影视| 久久影音资源网| 欧洲精品中文字幕| 日本一区二区视频在线观看| 久久99精品一区二区三区| 日韩欧美专区在线| 久久99久久99精品免视看婷婷| 7777精品伊人久久久大香线蕉经典版下载 | 国产日韩欧美不卡在线| 国产一区二区在线影院| 久久夜色精品国产欧美乱极品| 蜜臀久久99精品久久久久久9| 欧美一区二区视频在线观看2022 | 亚洲免费色视频| 色婷婷av一区二区三区gif | 久99久精品视频免费观看| 日韩女优毛片在线| 国产高清在线精品| 国产精品成人免费| 欧美在线色视频| 美女一区二区视频| 久久毛片高清国产| 99免费精品视频| 亚洲国产综合色| 欧美一级片在线| 国产很黄免费观看久久| 中文字幕欧美一区| 欧美三级视频在线播放| 激情综合色播五月| 国产精品国产三级国产a| 欧美丝袜丝nylons| 精品伊人久久久久7777人| 国产精品视频在线看| 欧美亚洲日本国产| 久久精品久久久精品美女| 国产亚洲人成网站| 欧美午夜影院一区| 国产另类ts人妖一区二区| 亚洲欧美日韩国产综合在线| 91精品在线免费| 丰满少妇在线播放bd日韩电影| 亚洲线精品一区二区三区八戒| 精品奇米国产一区二区三区| 99re成人精品视频| 久久国产精品露脸对白| 综合激情网...| 欧美草草影院在线视频| 91蜜桃免费观看视频| 六月丁香综合在线视频| 综合久久给合久久狠狠狠97色 | 欧美亚一区二区| 国产激情视频一区二区在线观看 | 欧美性视频一区二区三区| 蜜臀av一级做a爰片久久| 亚洲色图19p| 精品成人a区在线观看| 色嗨嗨av一区二区三区| 国产在线播放一区二区三区| 亚洲成在人线免费| 中文字幕一区二区视频| 精品伦理精品一区| 91超碰这里只有精品国产| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产亚洲精品免费| 欧美日韩视频在线观看一区二区三区| 成人精品高清在线| 国产精品正在播放| 九色综合国产一区二区三区| 亚洲一线二线三线视频| 国产精品九色蝌蚪自拍| 国产午夜精品久久久久久久| 日韩欧美一级精品久久| 在线免费观看一区| www.66久久| 成人a免费在线看| 成人福利在线看| 国产成人鲁色资源国产91色综| 蜜臀av亚洲一区中文字幕| 婷婷丁香激情综合| 一区二区三区四区在线播放 | 美女免费视频一区| 天天亚洲美女在线视频| 亚洲福利视频一区| 亚洲国产裸拍裸体视频在线观看乱了 | 一本一本久久a久久精品综合麻豆| 国产精品99久久不卡二区| 国产在线播放一区三区四| 国产一区二区久久| 国产精品888| 国产·精品毛片| thepron国产精品| 91一区二区三区在线观看| av不卡免费在线观看| 99精品一区二区| 日本高清不卡一区| 在线看国产日韩| 91.com视频| 欧美大尺度电影在线| 欧美精品一区二区三区一线天视频 | 国内外成人在线| 国产不卡高清在线观看视频| 国产91精品精华液一区二区三区| 成人午夜又粗又硬又大| 成人app下载| 在线观看免费亚洲| 欧美一级片免费看| 国产视频一区二区在线| 国产精品免费aⅴ片在线观看| 亚洲欧美一区二区不卡| 亚洲国产一区视频| 精品一区中文字幕| 99久久精品免费看国产免费软件| 93久久精品日日躁夜夜躁欧美| 在线一区二区三区四区| 91精品国产91久久综合桃花| 亚洲精品一区二区精华| 亚洲欧美另类小说视频| 午夜久久久久久久久| 精品一区免费av| 成人黄色a**站在线观看| 欧美日韩欧美一区二区| 精品国产91乱码一区二区三区| 亚洲天堂福利av| 久久国产精品色婷婷| av午夜精品一区二区三区| 在线成人免费观看| 国产精品网站在线播放| 亚洲成av人片| 成人手机电影网| 6080yy午夜一二三区久久| 国产日韩欧美一区二区三区乱码| 亚洲一区二区三区在线播放 | 日本不卡高清视频| eeuss国产一区二区三区| 91精品福利在线一区二区三区| 国产精品丝袜在线| 蜜臀99久久精品久久久久久软件| av一二三不卡影片| 精品久久久网站| 午夜欧美2019年伦理| 99精品视频一区二区三区| 精品国产乱码久久久久久蜜臀| 一区二区三区中文字幕精品精品| 极品尤物av久久免费看| 欧美午夜精品免费| 日本一区二区三区在线不卡 | 成人久久视频在线观看| 欧美大片顶级少妇| 午夜精品久久久久影视| 99re热这里只有精品视频| 久久先锋影音av鲁色资源| 日韩精品一区第一页| 日本精品一区二区三区四区的功能| 久久久久综合网| 精一区二区三区| 欧美丰满一区二区免费视频| 亚洲一区二区三区视频在线播放 | 日韩一级二级三级精品视频| 一区二区三区中文字幕电影| av成人老司机| 亚洲欧美中日韩| 成人网在线免费视频| 久久久蜜臀国产一区二区| 久久精品国产99久久6| 欧美一区三区二区| 偷窥少妇高潮呻吟av久久免费| 一本到三区不卡视频| 综合久久国产九一剧情麻豆| k8久久久一区二区三区| 中文字幕在线不卡视频| 成人听书哪个软件好| 国产性天天综合网| 成人夜色视频网站在线观看|