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

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

?? board._c

?? chipcom公司CC1100無線模塊底層驅動程序
?? _C
?? 第 1 頁 / 共 2 頁
字號:
			DIS_RX_INT();		//禁止串口接收中斷
		}
	}
}
/*
************************************************************
*Description:延時函數
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/

void Delay(INT16U dly)
{
	INT16U i;

	for(i=0;i<dly;i++);
}

/*
************************************************************
*Description:切換CC1100工作狀態為接收
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void RF_Sts_ToRX(void)
{
	CC1100Strobe(CC1100_SIDLE);		//強制轉為空閑狀態
	Delay(1000);
	CC1100Strobe(CC1100_SFRX);		//清除接收緩存
	CC1100Strobe(CC1100_SRX);		//切換到接收模式,進入FS_WAKEUP
	CC1100Strobe(CC1100_SRX);       //進入CALIBRATE
	Delay(1000); 					//進入SETTLING
	CC1100Strobe(CC1100_SRX);		//進入RX
}
/*
************************************************************
*Description:切換CC1100工作狀態為發送
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void RF_Sts_ToTX(void)
{
	CC1100Strobe(CC1100_SIDLE);		//強制轉為空閑狀態
	Delay(1000);
	CC1100Strobe(CC1100_SFTX);		//清除發送緩存
	CC1100Strobe(CC1100_STX);		//切換到發送模式,進入FS_WAKEUP
	CC1100Strobe(CC1100_STX);		//進入CALIBRATE
	Delay(1000);					//進入SETTLING
	CC1100Strobe(CC1100_STX);		//進入TX
}
void CC1100WriteRfSettings(void) {
    // Write register settings
    CC1100WriteReg(CC1100_IOCFG2,   rfSettings.IOCFG2);
	CC1100WriteReg(CC1100_IOCFG1,   rfSettings.IOCFG1);    
    CC1100WriteReg(CC1100_IOCFG0,   rfSettings.IOCFG0);    
    CC1100WriteReg(CC1100_FIFOTHR,  rfSettings.FIFOTHR);
    CC1100WriteReg(CC1100_SYNC1,    rfSettings.SYNC1);
    CC1100WriteReg(CC1100_SYNC0,    rfSettings.SYNC0);
    CC1100WriteReg(CC1100_PKTLEN,   rfSettings.PKTLEN);
    CC1100WriteReg(CC1100_PKTCTRL1, rfSettings.PKTCTRL1);
    CC1100WriteReg(CC1100_PKTCTRL0, rfSettings.PKTCTRL0);
    CC1100WriteReg(CC1100_ADDR,     rfSettings.ADDR);
	
    //CC1100WriteReg(CC1100_CHANNR,   rfSettings.CHANNR);
	CC1100WriteReg(CC1100_CHANNR,   Chno_Set_Num);
	
    CC1100WriteReg(CC1100_FSCTRL1,  rfSettings.FSCTRL1);
    CC1100WriteReg(CC1100_FSCTRL0,  rfSettings.FSCTRL0);
	
    CC1100WriteReg(CC1100_FREQ2,    rfSettings.FREQ2);
    CC1100WriteReg(CC1100_FREQ1,    rfSettings.FREQ1);
    CC1100WriteReg(CC1100_FREQ0,    rfSettings.FREQ0);
	
    //CC1100WriteReg(CC1100_MDMCFG4,  rfSettings.MDMCFG4);
	CC1100WriteReg(CC1100_MDMCFG4,  Sys_Set[Baud_Set_Num].mdcfg4_val);
    //CC1100WriteReg(CC1100_MDMCFG3,  rfSettings.MDMCFG3);
	CC1100WriteReg(CC1100_MDMCFG3,  Sys_Set[Baud_Set_Num].mdcfg3_val);
	
    CC1100WriteReg(CC1100_MDMCFG2,  rfSettings.MDMCFG2);
    CC1100WriteReg(CC1100_MDMCFG1,  rfSettings.MDMCFG1);
    CC1100WriteReg(CC1100_MDMCFG0,  rfSettings.MDMCFG0);
	
    //CC1100WriteReg(CC1100_DEVIATN,  rfSettings.DEVIATN);
	CC1100WriteReg(CC1100_DEVIATN,  Sys_Set[Baud_Set_Num].deviatn);
	
    CC1100WriteReg(CC1100_MCSM2 ,   rfSettings.MCSM2 );
	CC1100WriteReg(CC1100_MCSM1 ,   rfSettings.MCSM1 );
	CC1100WriteReg(CC1100_MCSM0 ,   rfSettings.MCSM0 );
    CC1100WriteReg(CC1100_FOCCFG,   rfSettings.FOCCFG);
    CC1100WriteReg(CC1100_BSCFG,    rfSettings.BSCFG);
    CC1100WriteReg(CC1100_AGCCTRL2, rfSettings.AGCCTRL2);
    CC1100WriteReg(CC1100_AGCCTRL1, rfSettings.AGCCTRL1);
    CC1100WriteReg(CC1100_AGCCTRL0, rfSettings.AGCCTRL0);
	CC1100WriteReg(CC1100_WOREVT1,  rfSettings.WOREVT1);
	CC1100WriteReg(CC1100_WOREVT0,  rfSettings.WOREVT0);
	CC1100WriteReg(CC1100_WORCTRL,  rfSettings.WORCTRL);
    CC1100WriteReg(CC1100_FREND1,   rfSettings.FREND1);
    CC1100WriteReg(CC1100_FREND0,   rfSettings.FREND0);
    CC1100WriteReg(CC1100_FSCAL3,   rfSettings.FSCAL3);
    CC1100WriteReg(CC1100_FSCAL2,   rfSettings.FSCAL2);
    CC1100WriteReg(CC1100_FSCAL1,   rfSettings.FSCAL1);
    CC1100WriteReg(CC1100_FSCAL0,   rfSettings.FSCAL0);	
}
void CC1100PinInit(void)
{
    CS_OUT;
	SCLK_OUT;
	SI_OUT;
	SO_IN;
	//GDO0_IN;
	GDO2_IN;
}
/*
************************************************************
*Description:初始化CC1100
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void CC1100Init (void)
{
	CC1100PinInit();
	CC1100Rst();
	CC1100WriteRfSettings();
    //CC1100WriteBurstReg(CC1100_IOCFG2, CC1100CfgReg, sizeof(CC1100CfgReg)); //寫配置寄存器
    //CC1100WriteBurstReg(CC1100_IOCFG2, rfSettings, sizeof(rfSettings)); //寫配置寄存器
	CC1100WriteBurstReg(CC1100_PATABLE, paTable, sizeof(paTable)); //配置發射功率10mW

	PCMSK2 |= BIT(PCINT18);
	PCICR  |= BIT(PCIE2);

	RF_Sts_ToRX();
}

/*
************************************************************
*Description:CC1100查看接收數據包
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void RF_ReceivePacket (void)
{
    INT8U status;

    if (RFState == CC1100_RX_STATE)
	{
	    RFReceiveLen = CC1100ReadReg(CC1100_RXFIFO);
		if (RFReceiveLen <= MAX_RF_BUFF)
		{
		    CC1100ReadBurstReg(CC1100_RXFIFO, RFReceive_Buf, RFReceiveLen);  //保證下標不越界
		}
		else
		{
			CC1100Init(); 			//保證CC1100出現異常,還能正常工作。為什么會出現異常,原因待查??
		}
		CC1100Strobe(CC1100_SFRX);	//清除接收緩存

		status = CC1100ReadStatus(CC1100_PKTSTATUS);
		if (status & CRC_OK)
		{
		    RFReceiveFlg = TRUE;  	//射頻接收完一包數據,準備發送到串口
			return;
		}
	}
	else
	{
	    RFState = CC1100_RX_STATE;	//射頻發送完畢,轉換為接收狀態
	}
	RF_Sts_ToRX();
}


/*
************************************************************
*Description:射頻數據包發送函數
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void RF_SendPacket (INT8U *txBuffer, INT8U size)
{
    RFState = CC1100_TX_STATE;		//準備發送數據

	RF_Sts_ToTX();

	RFSend_Start=TRUE;

	CC1100WriteReg(CC1100_TXFIFO, size);
	CC1100WriteBurstReg(CC1100_TXFIFO, txBuffer, size);

	EN_RX(); 						//使能串口接收
	EN_RX_INT();					//使能串口接收中斷
}


/*
************************************************************
*Description:啟動串口發送中斷函數
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void Uart_SendPacket (void)
{
	EN_TX_INT();

	RF_Sts_ToRX();
}
/*
************************************************************
*Description:打印系統信息
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void PrintSysInfo(void)
{
	printf("**************************\n");
	printf("*CC1100_TestBoard!\n");
	printf("*Build date : %s\n",__DATE__);
	printf("*Build time : %s\n",__TIME__);
	printf("*RF         : %d MHz\n",RF_CENTER);
	printf("*Baud rate  : %u BPS\n",Sys_Set[Baud_Set_Num].baud);
	printf("*Chanel     : %d\n",Chno_Set_Num);
	printf("**************************\n");
}
/*
************************************************************
*Description:按鍵掃描處理
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
INT8U Key_Scan(void)
{
	static INT8U key_old_val=POPE;
	INT8U	key_new_val;

	key_new_val=KEY_STATUS;

	if(key_new_val!=key_old_val)
	{
	 	key_old_val=key_new_val;
		if(key_new_val==POPE)
			return TRUE;
		else
			return FALSE;
	}
	else
	{
		return FALSE;
	}
}
/*
************************************************************
*Description:初始化系統各種參數,變量
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void InitSys (void)
{
	INT8U	work_mode;
	INT8U	cs_sel;

	port_init();

	work_mode=WORK_MODE;
	cs_sel=CS_SELECT;

	if(work_mode==WORK_TEST)
	{
		Chno_Set_Num=CHAN_SET_TEST;
		Baud_Set_Num=BAUD_TEST;
	}
	if(work_mode==WORK_DEMO)
	{
		Chno_Set_Num=CHAN_SET_DEMO;
		Baud_Set_Num=BAUD_SET;
	}

	uart0_init();
	timer0_init();
	PrintSysInfo();

	RFSendCnt = 0;        	//射頻發送(串口接收)計數器,記錄串口接收字節數
	RFReceiveCnt = 0;     	//射頻接收(串口發送)計數器,記錄串口發送字節數

	RFSendFlg = FALSE;    	//射頻發送標志,串口已經接收完一包數據,準備射頻發送
	RFReceiveFlg = FALSE; 	//射頻接收標志,準備把空中數據發送到串口

	RXOTCnt = 0;          	//串口接收數據超時計數器
	RXOTFlg = FALSE;      	//串口接收數據超時標志

	CC1100Init(); 			//初始化CC1100

	RFState = CC1100_RX_STATE;
	CC1100IntLFlg = FALSE;
	CC1100IntHFlg = FALSE;

	SEI();
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本道精品一区二区三区| 国产一区二区三区免费看| 国产欧美日韩精品a在线观看| 制服丝袜中文字幕亚洲| 欧美午夜精品一区二区三区| 99在线热播精品免费| 成人av免费网站| 成人精品国产一区二区4080| 国产成人综合精品三级| 国产成人在线电影| 国产二区国产一区在线观看| 国产精品一区二区三区网站| 成人动漫一区二区| 日本高清免费不卡视频| 欧美性高清videossexo| 欧美顶级少妇做爰| 欧美成va人片在线观看| 国产三级一区二区三区| 中文字幕中文字幕一区| 亚洲欧美视频在线观看视频| 亚洲国产成人91porn| 另类小说一区二区三区| 国产精品一二三区| caoporen国产精品视频| 欧美在线|欧美| 欧美大片拔萝卜| 国产精品久久久久久久蜜臀| 一区二区高清在线| 另类小说一区二区三区| 丁香桃色午夜亚洲一区二区三区| 99在线精品观看| 欧美剧在线免费观看网站| 久久伊人中文字幕| 亚洲人快播电影网| 美腿丝袜亚洲三区| 91在线看国产| 精品三级在线看| 亚洲色图.com| 黄色日韩网站视频| 色88888久久久久久影院按摩 | 亚洲夂夂婷婷色拍ww47| 天天av天天翘天天综合网 | 国产激情一区二区三区四区 | 久久久久久免费网| 一区二区三区欧美日| 久久99热这里只有精品| 色噜噜久久综合| 久久亚洲一级片| 日本亚洲一区二区| 成人午夜精品在线| 日韩欧美国产系列| 亚洲成人手机在线| 色婷婷亚洲精品| 中文字幕精品一区| 国产一区二区三区免费在线观看| 欧美高清你懂得| 亚洲女人****多毛耸耸8| 国产裸体歌舞团一区二区| 欧美日韩精品欧美日韩精品| 国产精品久久久久久久裸模| 国产精品白丝jk白祙喷水网站| 91精品综合久久久久久| 夜夜精品浪潮av一区二区三区 | 亚洲精品老司机| 大尺度一区二区| 国产片一区二区| 国产麻豆精品theporn| 日韩视频在线一区二区| 污片在线观看一区二区| 色婷婷精品久久二区二区蜜臂av| 国产精品免费久久久久| 国产成人精品免费一区二区| 日韩视频免费观看高清在线视频| 亚洲18女电影在线观看| 欧美丝袜丝交足nylons| 夜夜嗨av一区二区三区四季av| 99久久精品免费精品国产| 亚洲日本一区二区三区| 91原创在线视频| 亚洲免费av网站| 在线观看日韩国产| 无吗不卡中文字幕| 日韩欧美亚洲国产另类| 久久精品久久99精品久久| 欧美成人女星排名| 国内精品免费**视频| 久久久不卡影院| 91原创在线视频| 亚洲电影你懂得| 日韩丝袜美女视频| 国产精品一区二区不卡| 国产精品人妖ts系列视频| 一本大道久久a久久精品综合| 亚洲视频每日更新| 欧美日韩一区中文字幕| 蜜臀精品一区二区三区在线观看 | 精品国产伦一区二区三区观看方式 | 国产精品剧情在线亚洲| 在线观看成人免费视频| 婷婷综合在线观看| 久久精品日产第一区二区三区高清版| 国产高清精品网站| 一区二区高清免费观看影视大全| 制服丝袜日韩国产| 国产成人精品亚洲777人妖 | 国产精品对白交换视频| 欧美日韩国产精品成人| 狠狠色2019综合网| 日本一区二区三区在线不卡| 在线观看网站黄不卡| 久久99热99| 亚洲三级在线免费观看| 欧美大黄免费观看| 色哟哟国产精品| 激情综合网天天干| 夜夜操天天操亚洲| 国产清纯在线一区二区www| 欧美午夜寂寞影院| 成人理论电影网| 免费成人性网站| 一个色综合av| 国产精品初高中害羞小美女文| 欧美日韩一二三| 94色蜜桃网一区二区三区| 久久99国产精品久久| 亚洲精品五月天| 久久人人爽人人爽| 欧美日韩成人高清| thepron国产精品| 精品一区二区三区av| 亚洲成av人**亚洲成av**| 中文字幕+乱码+中文字幕一区| 在线不卡一区二区| 欧洲精品在线观看| 本田岬高潮一区二区三区| 久久精品99国产精品| 亚洲综合免费观看高清在线观看| 国产欧美日韩三级| 日韩精品自拍偷拍| 欧美一区二区在线免费播放| 色成人在线视频| 99久久er热在这里只有精品66| 国产精品小仙女| 国内欧美视频一区二区| 麻豆久久久久久| 美女视频黄 久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 一区二区三区四区亚洲| 爽爽淫人综合网网站| 一区二区视频在线看| 国产精品入口麻豆原神| 中文字幕免费一区| 亚洲国产激情av| 国产精品久久久久天堂| 国产精品色哟哟网站| 欧美极品另类videosde| 国产欧美日韩三级| 国产精品美女久久久久aⅴ| 国产欧美日韩综合| 中文字幕在线一区二区三区| 国产精品嫩草久久久久| 亚洲人成精品久久久久久| 日韩理论片在线| 亚洲最色的网站| 日韩av电影天堂| 国内精品久久久久影院一蜜桃| 国模无码大尺度一区二区三区| 韩国视频一区二区| 国产一区二区三区免费| 成人国产精品免费网站| 在线观看亚洲成人| 欧美一卡在线观看| 久久久国产一区二区三区四区小说 | 欧美在线观看你懂的| 69精品人人人人| 精品av久久707| 国产精品美女久久久久久2018 | 午夜欧美视频在线观看| 毛片不卡一区二区| 懂色av一区二区夜夜嗨| 欧美三级中文字幕| 日韩精品一区二区三区三区免费| 国产色一区二区| 一区二区日韩av| 免费观看一级特黄欧美大片| 国产一区二区三区美女| 欧美在线免费观看亚洲| 精品国产免费久久| 亚洲日本护士毛茸茸| 免费欧美日韩国产三级电影| 成人激情免费电影网址| 欧美日韩一区二区欧美激情| 久久久久久电影| 夜夜亚洲天天久久| 国产黄色精品视频| 91麻豆精品91久久久久久清纯| 国产精品视频一区二区三区不卡| 亚洲一区二区免费视频| 成人天堂资源www在线| 欧美一区二区视频在线观看2020|