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

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

?? rf.c

?? 單片機與a7105組成無線收發程序2.4G多通道
?? C
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************************
;copyright		:shenzhen 
;filename		:rf.c
;RF				:A7105
;rf crystal		:16MHZ
;RF rate		:250k
;control mcu	:W78E52B	
;writeby		:dengyih
;describe		:A7105 控制
;notice			:Fdev 固定為 80k
;***********************************************************************
;                            --------------------
;                     P1.0  |1                 40|  VCC
;                     P1.1  |2                 39|  P0.0     ----  LCD_DATA0
;   RF_SCK  ----      P1.2  |3                 38|  P0.1     ----  LCD_DATA1
;   RF_SDIO ----      P1.3  |4                 37|  P0.2     ----  LCD_DATA2
;                     P1.4  |5                 36|  P0.3     ----  LCD_DATA3
;   RF_SCS  ----      P1.5  |6                 35|  P0.4     ----  LCD_DATA4
;                     P1.6  |7                 34|  P0.5     ----  LCD_DATA5
;                     P1.7  |8                 33|  P0.6     ----  LCD_DATA6
;                  RST/Vpd  |9                 32|  P0.7     ----  LCD_DATA7
;                 RXD/P3.0  |10                31|  /EA/Vpp
;                 TXD/P3.1  |11                30|  ALE/PROG
;  RF_GPIO2 --- /INT0/P3.2  |12                29|  /PSEN
;  RF_GPIO1 --- /INT1/P3.3  |13                28|  P2.7     ----  KEY4
;                  T0/P3.4  |14                27|  P2.6     ----  KEY3
;  RX\TX   ---     T1/P3.5  |15                26|  P2.5     ----  KEY2
;                 /WR/P3.6  |16                25|  P2.4     ----  KEY1
;                 /RD/P3.7  |17                24|  P2.3
;                    XTAL2  |18                23|  P2.2     ----  LCD_RW
;                    XTAL1  |19                22|  P2.1     ----  LCD_RS
;                      VSS  |20                21|  P2.0     ----  LCD_EN
;                            --------------------
;                                W78E52B(PDIP)
;***********************************************************************/

#include "..\header\rf.h"

U8 const code Rf_Rate_Tab[7] = {19,9,7,4,3,1,0};
								//25k,50k,62.5k,100k,125k,250k,500k 


// A7105 寄存器默認配置
U8 const code A7105_Default_Par[51] = 
{
    //0x00 register
    0x00,                 // RESET register : not use on config 
  
    //0x01 register
	//#if(TEST_MODE)
	//	0xc2,				  // direct mode 
	//#else
	    0x42,                 // MODE register: FIFO mode 
	//#endif
	
    //0x02 register
    0x00,                 // CALIBRATION register
  
    //0x03 register
    RF_FIFO_LEN - 1,      // FIFO1 register : packet length
	
    //0x04 register
    0xc0,                 // FIFO2 register : FIFO pointer margin threshold 16/48bytes(TX/RX)
	
    //0x05 register
    0x00,                 // fifo register,not use on config
  
    //0x06 register
    0x00,                 // ID data register,not use on config

    //0x07 register
    0x00,                 // RCOSC1 register 
    0x00,                 // RCOSC2 register 
    0x00,                 // RCOSC3 register 

    //0x0a register
//  0x02,                 // CKO register,clk out enable,bit clock
    0x00,                 // CKO disable

    //0x0b register
    0x01,                 // GPIO1 register :WTR output,enable GPIO1 output 
    0x09,                 // GPIO2 register :CD carrier detect,enable GPIO2 output 
                          // GPIO1,2按上面設置時,在接收狀態下GPIO2保持為低電平,GPIO1保持為高電平,
                          // 發送方發送一幀數據時,GPIO2會產生一個正脈沖,接收方GPIO2也會產生一個正脈沖
                          // 發送方發送一幀數據時,GPIO1會產生一個負脈沖,接收方GPIO2也會產生一個負脈沖
    //0x0d register
    0x05,                 // CLOCK register: Crystal oscillator enable bit
    
    //0x0e register
    0x01,                 // data rate select 250K    
                          // data rate = system clock / 32*(SDR[7:0] + 1
//  0x04,                 // data rate = 100k

    //0x0f register
    0x14,                 // PLL register1, LO channel number select   
                          // channel = 0x14  RF frequency = 2400MHZ + 500K * 20 = 2.410GHZ
                           
    //0x10 register
    0x9e,                 // PLL register2, 
                          // DBL = 1, crystal frequency double select
                          // RRC[1:0] = 00, Fpfd = Fcrystal(16MHZ) * (1 + DBL) /(RRC[1:0] + 1) = 32MHZ 
                          // CHR[3:0] = 0x0F, channel frequency step setting
                          // channel setp frequency = 0.25 * Fpfd / (CHR[3:0] + 1) = 500KHZ

    //0x11 register
    0x4b,                 // PLL register3 BIP[7:0] = 75
    0x00,                 // PLL register4 BFP[15:8] = 0
    0x00,                 // PLL register5 BFP[7:0] = 0  
    
    //0x14 register
    //	0x06,				// TX register1
							// frequency deviation power setting = [110]
							// TX modulation disable
	0x16,					// enable tx modulation					  
		                           
    //0x15 register
//  0x2b,                 // Fdev = 187k   // TX register2
                          // Fpfd = 32MHZ,PDV[1:0] = 01,SDR[7:0] = 0000 0001                      
                          // Tx rate = Fpfd / (32 * (PDV[1:0]+1) * (SDR[7:0]+1)) = 250kbps
                          // TX frequency deviation = Fpfd * 127 * 2^FDP[2:0] * (FD[4:0]+1) /2^24 = 187.5KHZ

//  0x20,                 // Fdev = 15K @FD[2:0] = [110]
//  0x21,                 // Fdev = 31k @FD[2:0] = [110]	
//  0x22,                 // Fdev = 46k @FD[2:0] = [110]
	0x23,                 // Fdev = 62k @FD[2:0] = [110]  					  
//	0x24,                 // Fdev = 80k @FD[2:0] = [110]
//  0x25,                 // Fdev = 93k @FD[2:0] = [110]
//  0x26,                 // Fdev = 108k @FD[2:0] = [110]
//  0x27,                 // Fdev = 124k @FD[2:0] = [110]
//  0x28,                 // Fdev = 139k @FD[2:0] = [110]
//	0x29,                 // Fdev = 155k @FD[2:0] = [110]
//	0x2a,                 // Fdev = 170k @FD[2:0] = [110]
//	0x2b,				  // Fdev = 186k @FD[2:0] = [110]
//  0x2c,                 // Fdev = 200k @FD[2:0] = [110]
//  0x2d,				  // Fdev = 217k @FD[2:0] = [110]
//	0x2e,				  // Fdev = 232k @FD[2:0] = [110]
//	0x2f,				  // Fdev = 248k @FD[2:0] = [110]
//	0x30,				  // Fdev = 263k @FD[2:0] = [110]
//	0x32,				  // Fdev = 294k @FD[2:0] = [110]
//  0x39,                 // Fdev = 400k @FD[2:0] = [110] 	              
	                        
    //0x16 register	                         
    0x12,                 // Delay register1
                          // DPR[2:0] = 0, TDL[1:0] = 2, PDL[2:0] = 2
                          // TX setting delay = 20*(TDL[1:0]+1)*(DPR[2:0]+1) = 20*3 = 60us
                          // PLL setting delay = 20*(PDL[2:0]+1)*(DPR[2:0]+1) = 20*3 = 60us	
						                            
    //0x17 register
    0xf8,                 // Delay register2
                          // Crystal turn on delay 2.5ms
                          // AGC delay 40us
                          // RSSI measurement delay 10us
                          
    //0x18 register
    0x26,                 // RX register
                          // Demodulator filter bandwidth = 1M
                          // Demodulator gain select * 3
                          // BPF bandwidth 500khz
                          // Up side band select
//  0x36,                 // AFC = 1,frequency compensation select (auto)				  
						  
    //0x19 register                     
    0x80,                 // RX gain register1, 手動校驗VGA, PGA gain 12db,mixer gain 24db, LNA gain 24db                                                  

    //0x1a register
    0x80,                 // RX gain register2, VGA calibrate upper limit target
    
    //0x1b register
    0x00,                 // RX gain register3, VGA calibrate lower limit target

    //0x1c register
    0x0e,                 // RX gain register4, VGC calibrate continues until ID code word is received
                          // Mixer current select 1.2mA
                          // LNA current select 2.0mA
    
    //0x1d register
    0x32,                 // RSSI register RSSI 50
    
    //0x1e register
    0xc3,                 // ADC register 
    
    //0x1f register
//  0x0f,                 // CODE register1, ID length 4 bytes, preamble length 4 bytes
//  0x4f,                 // open manchester
    0x5f,                 // open manchester, FEC
    
    //0x20 register
    0x12,                 // CODE register2, 
    
    //0x21 register
    0x00,                 // CODE register3, 
    
    //0x22 register
    0x00,                 // IF calibration1, auto calibration IF
    
    //0x23 register
    0x00,                 // IF calibration2, read only
    
    //0x24 register               
    0x00,                 // VCO current calibration register    

    //0x25 register
    0x00,                 // VCO Single band calibration register1
                          // auto calibration
                          
    //0x26 register
    0x3a,                 // VCO Single band calibration register2  
                          // REGA = 1.1V,VCO tuning voltage  =0.3V
                          
    //0x27 register
    0x00,                 // battery register default
    
    //0x28 register
    0x17,                 // TX test register default
    
    //0x29 register
    0x47,                 // RX DEM test registe1 default
    
    //0x2a register
    0x80,                 // RX DEM test register2 defalut
                         
    //0x2b register
    0x01,                 // charge pump current register 
                          // charge pump curretn = 1.0mA
                          
    //0x2c register
    0x05,                 // Crystal test register default
    
    //0x2d register
    0x45,                 // PLL TEST register default
    
    //0x2e register
    0x18,                 // VCO test register1 default
    
    //0x2f register
    0x00,                 // VCO test register2 default
    
    //0x30 register
    0x01,                 // IFAT register default
    
    //0x31 register
    0x0f,                 // RScale register RSSI tuning scale default
    
    //0x32 register
    0x00                  // Filter test register default                                            
};


/****************************************************************
name:		ini rf
input:		none
output:		none
describe:	初始化A7105
notice:
creat date:	2008-7-20 
creator:	dengyihong
****************************************************************/
void ini_rf(void)
{
    set_rf_io();
    A7105_reset_chip();        
    delay_2us(50000);    
    delay_2us(50000); 
	
    A7105_write_ID();

    A7105_config_chip();

    A7105_calibration();

	if(System_Mode)
	{
	    A7105_setup_channel(Rf_Rec_Channel);
		A7105_setup_wpll();
 		A7105_entry_tx();
	}
	else
    {
		A7105_setup_channel(Rf_Rec_Channel);
		A7105_setup_wpll();
    	delay_2us(100);
    	A7105_entry_rx();				// 接收狀態	
	}

}


/****************************************************************
name:		A7105_config_chip
input:		none
output:		none
describe:	配置A7105
notice:
creat date:	2008-7-20
creator:	dengyihong
****************************************************************/
void A7105_config_chip(void)
{
    U8 i = 0;

    // 0x00 mode register, for reset 
    // 0x05 fifo data register 
    // 0x06 id code register 
    // 0x23 IF calibration II, only read 
    // 0x32 filter test register 

	if(System_Mode)
	{
        A7105_write_register(1,0xc2);				// direct mode
		for(i=0x02; i<=0x04; i++)
    	{
        	A7105_write_register(i,A7105_Default_Par[i]);
    	}
		/*
	    for(i=0x07; i<=0x13; i++)
    	{
        	A7105_write_register(i,A7105_Default_Par[i]);
    	}
		*/
		for(i=0x07; i<0x0e; i++)
		{
			A7105_write_register(i,A7105_Default_Par[i]);
		}

		A7105_write_register(0x0e,Rf_Rate_Tab[Rf_Rate_Cnt]);		// set data rate

		for(i=0x0f; i<=0x13; i++)
		{
			A7105_write_register(i,A7105_Default_Par[i]);		
		}

		A7105_write_register(0x14,0x06);							// close TX modulation

	    for(i=0x15; i<=0x22; i++)
    	{
        	A7105_write_register(i,A7105_Default_Par[i]);
    	}
	}
	else
	{
    	for(i=0x01; i<=0x04; i++)
    	{
        	A7105_write_register(i,A7105_Default_Par[i]);
    	}

		for(i=0x07; i<0x0e; i++)
		{
			A7105_write_register(i,A7105_Default_Par[i]);
		}

		A7105_write_register(0x0e,Rf_Rate_Tab[Rf_Rate_Cnt]);		// set data rate

		for(i=0x0f; i<=0x22; i++)
		{
        	A7105_write_register(i,A7105_Default_Par[i]);			
		}
		/*
	    for(i=0x07; i<=0x22; i++)
    	{
        	A7105_write_register(i,A7105_Default_Par[i]);
    	}
		*/
	}
	for (i=0x24; i<=0x31; i++)
    {
        A7105_write_register(i,A7105_Default_Par[i]);
    }
}

/****************************************************************
name:		set_rf_io
input:		none
output:		none
describe:	上電時設置RF的I/O口方向及狀態
notice:
creat date:	2008-7-20
creator:	dengyihong
****************************************************************/
void set_rf_io(void)
{	
    RF_SCK_LOW();
    RF_SDIO_LOW();
    RF_SCS_HIGH();
	RF_TX_PA_OFF();
	RF_GPIO1_INPUT();	  
}

/*******************************************************
name:		A7105_calibration
input:		none
output:
describe:	校驗A7105 
notice:		1. RF 上電后一定要調用該程序對VCO進行校驗
			2. 校驗時需在 stby 狀態
creat date:	2008-7-20
creator:	dengyihong
********************************************************/
void A7105_calibration(void)
{
    U8 temp = 0;        
        
    // standby狀態下校準IF 
    A7105_entry_stby();
    A7105_write_register(RF_REG_CALIBRATION,0x01);
    do
    {
        temp = A7105_read_register(RF_REG_CALIBRATION);
        temp &= 0x01;
    }while(temp);
        
    temp = A7105_read_register(RF_REG_IF_CALIBRATION1);
    temp &= 0x10;
        
    if(temp)
    {
        // 校準出錯 
    }
        
    // anual vco current band 3,vco band 1 
    A7105_write_register(RF_REG_VCO_CURRENT_CAL,0x13);
    A7105_write_register(RF_REG_VCO_BAND_CAL1,0x09);
        
    A7105_entry_stby();
}

/***************************************************
name:		A7105_entry_stby

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线影院 | 日韩精品一二区| 中文字幕精品—区二区四季| 久久综合精品国产一区二区三区| 日韩欧美一卡二卡| 欧美一区二区三区四区在线观看| 欧美二区乱c少妇| 欧美日韩国产影片| 日韩一区二区三区四区| 精品国产麻豆免费人成网站| 2021久久国产精品不只是精品| 精品免费国产一区二区三区四区| 精品少妇一区二区| 精品成人一区二区三区四区| 久久久综合九色合综国产精品| 国产日韩欧美不卡| 亚洲人亚洲人成电影网站色| 亚洲综合色自拍一区| 偷窥少妇高潮呻吟av久久免费| 视频一区欧美精品| 国产美女精品一区二区三区| 99在线精品视频| 欧美视频三区在线播放| 欧美丰满少妇xxxxx高潮对白| 欧美不卡123| 国产精品免费人成网站| 亚洲高清视频的网址| 九九九精品视频| av不卡免费电影| 欧美日韩亚洲国产综合| 精品国产网站在线观看| 国产精品乱码一区二区三区软件 | 国产一区二区不卡| zzijzzij亚洲日本少妇熟睡| 欧美视频一区二区三区在线观看| 欧美成人精品1314www| 国产精品无人区| 日本成人在线视频网站| 成人免费毛片高清视频| 欧美日韩亚洲丝袜制服| 国产日韩精品一区二区三区| 午夜久久福利影院| 国产高清成人在线| 欧美肥妇free| 国产精品二三区| 韩国v欧美v亚洲v日本v| 色悠悠亚洲一区二区| 欧美精品一区二区三区蜜臀| 亚洲女爱视频在线| 国产精品一区二区三区99| 欧美日韩一区二区三区不卡| 国产丝袜欧美中文另类| 日本aⅴ亚洲精品中文乱码| 99精品在线观看视频| 精品国产乱码久久久久久牛牛| 一区二区在线观看免费| 国产麻豆欧美日韩一区| 日韩精品一区二区在线观看| 一区二区三区蜜桃| 99久久久久久| 国产精品美女久久久久久久| 国产综合久久久久久鬼色| 欧美男同性恋视频网站| 亚洲精品日日夜夜| 91伊人久久大香线蕉| 国产精品视频观看| 国产盗摄一区二区| 欧美精品一区二区三区一线天视频| 婷婷中文字幕综合| 欧美亚洲自拍偷拍| 亚洲国产一区二区三区| 91免费视频网| 一级女性全黄久久生活片免费| 成人小视频在线| 中文在线一区二区 | 欧美一区二区三区婷婷月色| 亚洲男人的天堂在线aⅴ视频| 激情五月婷婷综合网| 中文字幕第一页久久| 久久精品国产**网站演员| 欧美另类久久久品| 偷窥少妇高潮呻吟av久久免费| 欧美网站一区二区| 午夜影院久久久| 91精品久久久久久久91蜜桃| 日本三级亚洲精品| 欧美一区二区三区四区视频| 麻豆精品一二三| 精品国精品国产尤物美女| 国产一区欧美二区| 欧美高清在线视频| 色综合色狠狠天天综合色| 亚洲小说欧美激情另类| 337p亚洲精品色噜噜| 激情六月婷婷久久| 国产精品国产a级| 欧美亚洲图片小说| 免费不卡在线观看| 中文字幕不卡在线播放| 欧美最猛性xxxxx直播| 美日韩一区二区| 国产精品卡一卡二卡三| 91国偷自产一区二区使用方法| 日本女优在线视频一区二区| 国产午夜亚洲精品理论片色戒| aaa欧美色吧激情视频| 视频一区中文字幕国产| 国产日韩精品一区二区三区| 欧美在线不卡一区| 国产一区二区久久| 亚洲国产一区视频| www激情久久| 欧美日韩国产乱码电影| 国产一区高清在线| 亚洲综合在线第一页| 26uuu色噜噜精品一区| 色屁屁一区二区| 国产精品一色哟哟哟| 亚洲高清免费一级二级三级| 国产欧美日韩在线看| 欧美美女bb生活片| 91在线视频在线| 加勒比av一区二区| 亚洲成人午夜电影| 亚洲三级在线看| 久久午夜羞羞影院免费观看| 在线看国产一区二区| 成人免费视频一区| 国产一级精品在线| 美美哒免费高清在线观看视频一区二区| 国产目拍亚洲精品99久久精品| 91精品久久久久久蜜臀| 色婷婷综合久久久久中文 | 国产日韩精品一区二区浪潮av | 精品国产网站在线观看| 欧美性色黄大片| 色综合色综合色综合色综合色综合| 国产精品一区久久久久| 蜜臀久久99精品久久久久宅男| 亚洲激情欧美激情| 国产精品久久久久久久岛一牛影视 | 亚洲人123区| 久久影院午夜片一区| 日韩限制级电影在线观看| 欧美日韩一级片网站| 欧洲色大大久久| yourporn久久国产精品| 不卡的电影网站| 成人av在线播放网址| 极品瑜伽女神91| 国产精品一二一区| 国产专区综合网| 国产成人久久精品77777最新版本| 国产美女主播视频一区| 国产真实精品久久二三区| 精久久久久久久久久久| 国产在线精品一区二区夜色| 久久99热99| 国产精品伊人色| www.欧美亚洲| 日本高清视频一区二区| 欧美亚洲综合在线| 欧美一二三在线| 精品国一区二区三区| 日本一区二区三区在线不卡| 国产精品久久久久久久久果冻传媒| 国产精品美女一区二区在线观看| 国产精品女主播av| 亚洲曰韩产成在线| 日韩黄色在线观看| 国产精品1区2区3区在线观看| 懂色av一区二区三区免费观看 | 日韩精品最新网址| 久久久久青草大香线综合精品| 国产欧美精品一区aⅴ影院| 中文字幕一区二区三区视频| 亚洲免费伊人电影| 日韩影院在线观看| 国产成人在线免费观看| aaa国产一区| 日韩欧美在线观看一区二区三区| 久久久久高清精品| 亚洲另类春色国产| 激情丁香综合五月| 91免费在线看| 久久在线免费观看| 一区二区三区四区av| 久久99精品久久久| 色综合久久天天| 欧美电影免费观看高清完整版在线| 国产精品美女久久久久久久久久久 | 亚洲欧美一区二区视频| 亚洲成人免费观看| 粉嫩高潮美女一区二区三区 | 国产偷国产偷精品高清尤物| 亚洲国产欧美日韩另类综合| 激情六月婷婷久久| 欧美日韩久久一区二区| 欧美激情一区二区三区全黄 | 中文字幕视频一区|