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

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

?? srf.c

?? 制作Zigbee模塊的詳細電路原理圖和C代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*******************************************************************************

       UBEC (Uniband Electronic Corp.)

       Project: U-NET01, Ubiquitous network platform

       File: srf.c

       Version: 0.1.1

       Usage: Simple Rf Control Function

       Platform: U-NET01 DK with IAR 8051 C compiler

       Reference:

               Silicon Laboratories: C8051F124

               UBEC: UZ2400

       Note :

               Copyright (C) 2007 Uniband Electronic Corporation, All rights reserved

********************************************************************************/

#include ".\zigbee\unet.h"

//extern UINT8 SecKeyPool[16];
extern UNET_SYS UnetSys;

/**************************************************************
	Function Name: UzInit()
	Description: Initial UZ2400
	Parameters: None
	Return Value: None
**************************************************************/

void UzInit(){
	//Soft Reset
    	spi_sw(SOFTRST, 0x03); //If use 0x07 then should wait circuit stability

	//Set CCA mode to ED
	spi_sw(BBREG2, 0x80);

	//ED threshold for CCA
	spi_sw(RSSITHCCA, 0x60);

	//20Mhz clock recovery time
	spi_sw(SLPACK, 0x5f);

	//Apend RSSI value in Rx packets, Tx filter control, 20MHz clock recovery time control
    	spi_sw(BBREG6, 0xd0);

	//RF optimized control
	spi_lw(RFCTRL2, 0x80); //RF-PLL Control

	spi_lw(RFCTRL7, 0x80); //Sleep clock selection, [6:7] = 10 : use internal ring oscillator
	
	spi_lw(RFCTRL8, 0x10); // RF VCO control

	//Sleep clock frequency control
	spi_lw(SCLKDIV, 0x01);

	//Enable the Interrupt
    	spi_sw(INTMSK, 0);

	//Errata Issue
	spi_sw(FFOEN, 0x98);

	spi_sw(TXPEMISP, 0x95);

	//Reset RF state machine
	spi_sw(RFCTL, 0x04);
	spi_sw(RFCTL, 0x00);
	
}

/**************************************************************
	Function Name: UzEnablePA()
	Description: Enable Power Amplifier (UP2202)
	Parameters: None
	Return Value: None
**************************************************************/

void UzEnablePA(){

	spi_lw(TESTMODE,  spi_lr(TESTMODE) |0x0f);
}

/**************************************************************
	Function Name:  UzSetTxPower()
	Description: Set Power Level
	Parameters: dB -> Power Level
	Return Value: None
	Note: If dB > 0 ,will reduce power level
**************************************************************/

void UzSetTxPower(INT8 dB)
{ // Value Range: 0 ~ -40
	UINT8 Value = 0x00;
	INT8  Operator = 0x00;

	if(dB > 40 || dB < 0) return;

	if(dB == 0)
	{ //Maximum Tx Power
		Value = 0;
	}
	else
	{
		if((Operator = dB - 40) >=0)
		{ //dB = 40
			Value |= 0xc0;
			spi_lw(RFCTRL3, Value); //Set Power
			Value &= 0x00;
			Value |=0x40;
		}
		else if((Operator = dB - 30) >=0)
		{//30 <= dB < 40
			Value |= 0xc0;
		}
		else if((Operator = dB - 20) >=0)
		{//20 <= dB < 30
			Value |= 0x80;
		}
		else if((Operator = dB - 10) >=0)
		{//10 <= dB < 20
			Value |= 0x40;
		}
		else
		{                                            // 0 < dB < 10
			Operator = dB;
		}
			
		if(Operator != 0)
		{
			if(Operator == 1)
			{
				Value |= 0x08;
			}
			else if(Operator == 2 || Operator == 3)
			{
				Value |= 0x10;
			}
			else if(Operator == 4)
			{
				Value |= 0x18;
			}
			else if(Operator == 5)
			{
				Value |= 0x20;
			}
			else if(Operator == 6)
			{
				Value |= 0x28;
			}
			else if(Operator == 7)
			{
				Value |= 0x30;
			}
			else
			{//Operator == 8 or 9
				Value |= 0x38;	
			}
		}
	}
	spi_lw(RFCTRL3, Value);
}

/**************************************************************
	Function Name: UzSetChannel()
	Description: Set Channel
	Parameters: NewChannel -> Logical Channel you want modify, Value Range 11~26
	Return Value: None
**************************************************************/

void UzSetChannel(UINT8 NewChannel){ 

	if (NewChannel > 26 || NewChannel < 11) return; //Check Channel Range
	
    	spi_lw(RFCTRL0, ((NewChannel - 11) << 4) + 0x02); //// Shift logic channel, Program Channel

	//Reset RF state machine
	spi_sw(RFCTL, 0x04);
	spi_sw(RFCTL, 0x00);

}

/**************************************************************
	Function Name: UzSetCca()
	Description: Setup CSMA/CA Mode and Threshold
	Parameters: CCAMode -> CSMA/CA mechanism, CS only, ED only or CS |ED hybrid
			     CS_TH -> Threshold for Carrier Sense Mode
			     ED_TH -> Threshold for Energy Detect Mode
	Return Value: None
**************************************************************/

#define CCA_ED_MODE 0x80
#define CCA_CS_MODE 0x40

void UzSetCca(UINT8 CCAMode, UINT8 CS_TH, UINT8 EDT_TH){
	UINT8 Value = 0x00;

	Value |= CCAMode;

	if(CCAMode != CCA_ED_MODE){ // Set Threshold for CS or Hybrid
		Value |= ((CS_TH & 0x0f) << 2);
	}

	if(CCAMode != CCA_CS_MODE){ // Set Threshold for ED or Hybrid
		spi_sw(RSSITHCCA, EDT_TH);
	}

	spi_sw(BBREG2, Value); //Program Channel
}

/**************************************************************
	Function Name: UzReadRSSI()
	Description: Read current RSSI value
	Parameters: None
	Return Value: RSSI Value
**************************************************************/

UINT8 UzReadRSSI(){
	
       spi_sw(BBREG6, spi_sr(BBREG6) | 0x80); // Issue RSSI Request

	while(!(spi_sr(BBREG6) & 0x1)); //Wait Value Ready
         
    	return  spi_lr(RSSI);
}

/**************************************************************
	Function Name: UzSetMacAddress()
	Description: Set Mac Address
	Parameters: MacAddress -> 64bits Mac Address Pointer
	Return Value: None
	Note: Mac Address is used as the hardware filter of RX Normal Mode 
**************************************************************/

void UzSetMacAddress(UINT8 *MacAddress){
	UINT8 i;

	for (i=0; i<8; i++)
       	spi_sw(EADR0+i, *(MacAddress+i)); //Set Value 
	
}

/**************************************************************
	Function Name: UzSetPanId()
	Description: Set Pan Id
	Parameters: PanId -> 16bits PAN identifier
	Return Value: None
	Note: Pan Id is used as the hardware filter of RX Normal Mode 
**************************************************************/

void UzSetPanId(UINT16 PanId){
	UINT8 i;
	
	for(i=0; i<2; i++)
		spi_sw(PANIDL+i, *(((UINT8 *)&PanId)+i)); //Set Value
}

/**************************************************************
	Function Name: UzSetNwkAddr()
	Description: Set Network(16bits) Address
	Parameters: NwkAddr -> 16bits short Address
	Return Value: None
**************************************************************/

void UzSetNwkAddr(UINT16 NwkAddr){
	UINT8 i;

        for(i=0; i<2; i++){
		spi_sw(SADRL+i, *(((UINT8 *)&NwkAddr)+i)); //Set Value
	}
}

/**************************************************************
	Function Name: UzSoftReset()
	Description: Reset UZ2400 by Software
	Parameters: None
	Return Value: None
**************************************************************/

void UzSoftReset(){

	//Reset Power management, Base band, Mac
	spi_sw(SOFTRST, 0x07);
}

/**************************************************************
	Function Name: UzSetUnslotMode()
	Description: Set UZ2400 work in unslot mode
	Parameters: None
	Return Value: None
**************************************************************/

void UzSetUnslotMode(){
	
	spi_sw(ORDER, 0xff);
		        
	spi_sw(TXMCR, spi_sr(TXMCR) & ~0x20); //Set the hardware sloted bit
}


/**************************************************************
	Function Name: 
	Description: 
	Parameters: None
	Return Value: None
**************************************************************/

void UzSetCoordinator(){

    	spi_sw(RXMCR, spi_sr(RXMCR) |0x0c); //Set the PAN coordinator Bit
}

/**************************************************************
	Function Name: UzRxPromiscouosMode()
	Description: Set Promiscouos Mode of Rx
	Parameters: None
	Return Value: None
**************************************************************/

void UzRxPromiscouosMode(){
 
	spi_sw(RXMCR, spi_sr(RXMCR) | 0x01); // Accept all packets with CRC OK
}

/**************************************************************
	Function Name: UzRxErrorMode()
	Description: Set Error Mode of Rx
	Parameters: None
	Return Value: None
**************************************************************/

void UzRxErrorMode(){

	spi_sw(RXMCR, spi_sr(RXMCR) | 0x03); // Accept all kinds of pkt(even CRC error)
} 

/**************************************************************
	Function Name: UzRxNormalMode()
	Description: Set Normal Mode of Rx
	Parameters: None
	Return Value: None
**************************************************************/

void UzRxNormalMode(){

	spi_sw(RXMCR, spi_sr(RXMCR) & ~0x03); // Accept packets with crossponding Pan Id , Mac Address or Network Addrss
}


/**************************************************************
	Function Name: UzEnabTurboMode()
	Description: Enable The Turbo Mode of UZ2400
	Parameters: None
	Return Value: None
**************************************************************/

void UzEnabTurboMode(){

	spi_sw(BBREG0, spi_sr(BBREG0) | 0x01);
	
	spi_sw(BBREG3, spi_sr(BBREG3) | 0x38);

	spi_sw(BBREG4, spi_sr(BBREG4) | 0x5C);
}


/**************************************************************
	Function Name: UzDisTurboMode()
	Description: Disable The Turbo Mode of UZ2400
	Parameters: None
	Return Value: None
**************************************************************/

void UzDisTurboMode(){

	spi_sw(BBREG0, spi_sr(BBREG0) & ~0x01);
 
	spi_sw(BBREG3, spi_sr(BBREG3) & ~0x38);

	spi_sw(BBREG4, spi_sr(BBREG4) & ~0x5C);
}

/**************************************************************
	Function Name: UzForceTxMode()
	Description: 
	Parameters: None
	Return Value: None
**************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本精品一区二区三区高清| 9i在线看片成人免费| 亚洲国产精品99久久久久久久久| 97久久超碰精品国产| 麻豆视频观看网址久久| 中文字幕日本乱码精品影院| 91精品国产一区二区人妖| 成人精品gif动图一区| 日韩精品91亚洲二区在线观看| 亚洲欧美综合在线精品| 日韩午夜电影av| 色视频一区二区| 国产在线视频不卡二| 亚洲高清视频在线| 亚洲天堂精品视频| 中文字幕不卡一区| 337p日本欧洲亚洲大胆色噜噜| 欧美揉bbbbb揉bbbbb| 91丨九色丨国产丨porny| 国产成人午夜视频| 久久成人免费日本黄色| 五月天久久比比资源色| 一区二区在线看| 国产精品欧美久久久久一区二区 | 欧美探花视频资源| 岛国一区二区三区| 麻豆精品一区二区| 麻豆成人免费电影| 奇米888四色在线精品| 亚洲成av人片在线观看无码| 91麻豆精品国产91久久久| 成人99免费视频| 蜜臀av亚洲一区中文字幕| 亚洲第一二三四区| 欧美精品一区二区久久婷婷| 成人毛片在线观看| 正在播放亚洲一区| 欧美伊人久久久久久午夜久久久久| 国产91精品精华液一区二区三区 | 国产一区中文字幕| 中文字幕视频一区| 亚洲国产精品99久久久久久久久 | 2021国产精品久久精品| 欧美日本不卡视频| 欧美自拍偷拍午夜视频| 在线免费一区三区| 91在线观看一区二区| 成人在线综合网| 久久激情综合网| 婷婷综合另类小说色区| 午夜视频在线观看一区二区三区| 亚洲欧美在线高清| 中文字幕在线不卡一区| 国产欧美精品一区二区色综合朱莉| 欧美xxxx老人做受| 日韩丝袜美女视频| 91精品国产全国免费观看| 成人福利视频在线| 国内精品伊人久久久久av影院| 麻豆精品一区二区| 亚洲免费av观看| 亚洲午夜三级在线| 午夜精品久久久久久久久| 午夜伊人狠狠久久| 三级久久三级久久| 日本亚洲三级在线| 麻豆国产精品777777在线| 精久久久久久久久久久| 久久国产精品区| 精品一区二区久久| 国产成人在线色| 成人福利视频在线| 91行情网站电视在线观看高清版| 国产精品国产自产拍在线| 国产精品毛片大码女人| 日韩美女视频一区二区| 亚洲女爱视频在线| 国产精品欧美一级免费| 国产精品网友自拍| 亚洲一区国产视频| 麻豆91免费观看| 国产精品一品视频| 91美女蜜桃在线| 欧美久久久久免费| 精品国产一区二区三区四区四| 久久久久久97三级| 亚洲人妖av一区二区| 亚洲成人资源网| 久久爱www久久做| jizz一区二区| 欧美日韩一二三| 久久久午夜精品| 最新成人av在线| 日本欧美久久久久免费播放网| 亚洲福利一二三区| 日本美女一区二区| 狠狠色丁香婷综合久久| 97国产一区二区| 欧美一卡二卡三卡| 国产精品亲子伦对白| 亚洲午夜成aⅴ人片| 韩国女主播一区二区三区| 99久久国产免费看| 日韩视频不卡中文| 亚洲欧美日韩小说| 制服丝袜成人动漫| 成人欧美一区二区三区1314| 三级久久三级久久| 成人一区二区三区在线观看| 欧美综合亚洲图片综合区| 欧美日韩国产一区二区三区地区| 精品裸体舞一区二区三区| 国产精品福利影院| 国内国产精品久久| 欧美日韩国产高清一区| 欧美极品少妇xxxxⅹ高跟鞋| 午夜一区二区三区在线观看| 国产91清纯白嫩初高中在线观看| 欧美天堂亚洲电影院在线播放| 国产清纯在线一区二区www| 亚洲综合视频在线观看| 国产99一区视频免费| 欧美一区二区啪啪| 一区二区免费看| 大尺度一区二区| 欧美疯狂做受xxxx富婆| 一区二区三区欧美久久| 国产精选一区二区三区| 69p69国产精品| 亚洲综合激情小说| 成熟亚洲日本毛茸茸凸凹| 精品国产乱码久久久久久老虎| 亚洲图片欧美一区| 不卡在线视频中文字幕| ww久久中文字幕| 麻豆精品精品国产自在97香蕉| 欧美亚洲动漫制服丝袜| 亚洲精品自拍动漫在线| 成人在线一区二区三区| 久久综合狠狠综合久久综合88| 亚洲欧美偷拍另类a∨色屁股| 麻豆高清免费国产一区| 欧美一a一片一级一片| 一区二区三区.www| 一本一本久久a久久精品综合麻豆| 久久久国产综合精品女国产盗摄| 免费av网站大全久久| 欧美日韩精品久久久| 亚洲午夜一区二区| 欧美熟乱第一页| 亚洲一二三区在线观看| 日本乱人伦aⅴ精品| 亚洲婷婷国产精品电影人久久| 成人永久看片免费视频天堂| 国产精品水嫩水嫩| 成人性生交大片免费看中文| 欧美日韩一区二区三区免费看| 亚洲欧美日韩国产综合在线| 成人午夜视频免费看| 国产精品黄色在线观看| 国产宾馆实践打屁股91| 国产精品久久一卡二卡| 不卡一卡二卡三乱码免费网站| 欧美国产激情一区二区三区蜜月| 国产风韵犹存在线视精品| 国产网站一区二区三区| 国产黄色成人av| 国产精品色婷婷| 99国产欧美另类久久久精品| 中文字幕亚洲视频| 欧美最猛性xxxxx直播| 午夜在线电影亚洲一区| 欧美影院精品一区| 色综合久久久久网| 亚洲三级在线播放| av亚洲产国偷v产偷v自拍| 亚洲视频狠狠干| 欧美日韩色一区| 日本aⅴ亚洲精品中文乱码| 日韩免费视频一区| 国产成人av一区二区| 亚洲欧洲av在线| 欧美精品久久久久久久多人混战 | 国产免费成人在线视频| 97精品久久久久中文字幕| 亚洲综合免费观看高清完整版 | 国产成人精品一区二区三区四区| 国产精品久久久99| 色综合视频在线观看| 洋洋av久久久久久久一区| 91免费看视频| 日韩在线卡一卡二| 国产女人18毛片水真多成人如厕| 在线亚洲人成电影网站色www| 婷婷综合另类小说色区| 国产欧美日韩亚州综合| 欧美亚洲日本一区| 国产综合一区二区| 亚洲美女在线一区| 欧美变态凌虐bdsm|