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

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

?? cc1100_f310_t00.c.bak

?? 用c8051f310開發的433M無線模塊cc1100的完整程序
?? BAK
字號:
/******************************************************************************
文件名:	CC1100F310_main.c
說  明:	本文件為“CC1100-F310”數傳模塊V1.0版的主函數。
作  者:	趙華森
開  始:	2008.4.12
修  改:
		V1.0 初次開發實驗調試。
******************************************************************************/

#include "CC1100_func.h"	//訪問CC1100的函數
#include "CC1100_z.h"		//CC1100寄存器定義,一些常數定義。
#include "CC1100_MCU_z.h"	//MCU操作CC1100的SPI口的硬件相關的函數。
#include "CC1100_SMARTRF.h"	//SmartRF Stdio軟件計算的CC1100寄存器配置值。
#include "globe_val.h"		//全局變量定義。

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

#define	FRX_idle	0
#define	FRX_wait	1
#define	FRX_end		2

#define	FTX_start	3
#define	FTX_wait	4
#define	FTX_idle	5

#define URX_GAP		10	//幀間隔復位值(ms)
/******************************************************************************/
void Start_FRX( void );
void switch_URX_buf( void );
void switch_UTX_buf( void );

/**************************************************************************************
	主函數
(1):CC1100平時處于RX模式(或WOR)。
(2):串口(8N1,9600)收到數據后:啟動TX模式,分包發送。
(3):RX收到一包后:啟動串口,送出收到數據。
**************************************************************************************/
void main()
{
	//unsigned char	data	i;
//(1)CC1100復位《CC1100_MCU_z.c》。
	CC1100_Reset();
//(2)讀芯片器件號,版本號《CC1100_func.c》。
//	chip_id = Read_Register( CC1100_PARTNUM );
//	chip_ver = Read_Register( CC1100_VERSION );
//(3)芯片切換到IDEL狀態《CC1100_func.c》。
	turn_IDLE();

//(4)配置CC1100寄存器《CC1100_SMARTRF.c》。
	CC1100_Config();
//(5)SLEEP或XOFF時不保留這些寄存器,故喚醒后必須恢復。《CC1100_func.c》
	Recover_TEST();
//(6)根據本應用補充變更配置CC1100《CC1100_func.c》
	CC1100_function();
//(7)工作單元清零,啟動定時器T2運行,開中斷等。
	SYS_Flag = 0;		//清零所有標志位。
	URX_time = 0;		//幀間隔復位值
	FRX_time = 0;
	URX_i = 0;
	FRX_len = 0;
	switch_URX_buf();
	switch_UTX_buf();

	Start_FRX();

	TMR2CN = 0x04;		//T2運行。
	EA = 1;			//開中斷。

	while ( 1 )
	{//《主循環·開始》
		if ( S_1ms )
		{//《1ms定時器到時·開始》
			S_1ms = 0;
			Deal_with_LED();	//《CC1100_MCU_z.C》

			if ( URX_time && (!(--URX_time)) )
			{//URX結束。
				S_FTX = 0;
				if ( URX_i )
				{
					URX_i |= 0x80;
					switch_URX_buf();
					RF_case = FTX_start;	//啟動無線發射任務
				}
			}
			if ( FRX_time ) FRX_time--;
		}//《1ms定時到時·結束》

		switch ( RF_case )	//GDO0=0x06,	GDO2=0x07。
		{//《任務調度·開始》
		//無線發射任務
			case FTX_start:
			{//無線發射1個分組
				Write_URX_buf_33();	//發射1個分組+字節數。
				turn_FTX();
				RF_case = FTX_wait;
				break;
			}
			case FTX_wait:
			{
				if ( !CC1100_GDO0 )
				{//1個分組發完。
					RF_case = FTX_idle;
					if ( !Test_CC1100( CC1100_STATE_IDLE ) )
					{//TXFIFO虧空
						clear_TXFIFO();
					}
				}
				break;
			}
			case FTX_idle:
			{//FTX空閑
				if ( !S_FTX )
				{//FTX結束,轉FRX。
					RF_case = FRX_idle;	//FRX空閑
				}
				break;
			}
		//無線接收任務
			case FRX_idle:
			{//FRX空閑
				if ( CC1100_GDO0 )
				{//FRX收到同步字
					if ( !S_FRX )
					{
						S_FRX = 1;	//FRX燈亮。
						switch_UTX_buf();
					}
					FRX_time = 10;
					RF_case = FRX_wait;
				}
				else if ( S_FRX && !(FRX_time) )
				{//等待
					S_FRX = 0;
				}
				break;
			}
			case FRX_wait:
			{//等待FRX收完
				if ( !CC1100_GDO0 )
				{//FRX收完
					RF_case = FRX_end;
				}
				break;
			}
			case FRX_end:
			{//收到1個分組
				if ( CC1100_GDO2 )
				{//收到1個分組
					read_UTX_buf_33();	//讀取1個分組+字節數。
					Start_FRX();		//啟動FRX。
					while ( S_TI0 );	//等待UTX完
					S_TI0 = 1;
					switch_UTX_buf();	//切換UTX緩沖區,啟動UTX。
					if ( FRX_len & 0x80 )
					{//最后分組
						S_FRX = 0;
					}
					TI0 = 1;	//啟動UTX
				}
				else
				{//FRX錯誤
					if ( !Test_CC1100( CC1100_STATE_RX_OVERFLOW ) )
					{//RXFIFO溢出
						clear_RXFIFO();	//清除溢出錯誤。
					}
					Start_FRX();		//啟動FRX。
				}
			}
			break;
		}//《任務調度·結束》
	}//《主循環·結束》
}//main()

/***************************************************************
函數名:	void Start_FRX( void )
功能說明:	啟動無線接收。
***************************************************************/
void Start_FRX( void )
{
	turn_FRX();
	RF_case = FRX_idle;
}

/***************************************************************
函數名:	void switch_URX_buf( void )
功能說明:	切換URX緩沖區。
***************************************************************/
void switch_URX_buf( void )
{
	FTX_len = URX_i;	//URX收到的字節數
	URX_i = 0;
	if ( !S_URX )
	{//URX:0號緩沖區,FTX:1號緩沖區
		URX_ptr = &UART_buf_1;
		FTX_ptr = &UART_buf_0;
	}
	else
	{//URX:1號緩沖區,FTX:0號緩沖區
		URX_ptr = &UART_buf_0;
		FTX_ptr = &UART_buf_1;
	}
	S_URX = !S_URX;
}

/***************************************************************
函數名:	void switch_UTX_buf( void )
功能說明:	切換URX緩沖區。
***************************************************************/
void switch_UTX_buf( void )
{
	UTX_i = FRX_len & 0x3F;	//FRX收到的字節數
	if ( !S_UTX )
	{//UTX:0號緩沖區,FRX:1號緩沖區
		UTX_ptr = &UART_buf_1;
		FRX_ptr = &UART_buf_0;
	}
	else
	{//UTX:1號緩沖區,FRX:0號緩沖區
		UTX_ptr = &UART_buf_0;
		FRX_ptr = &UART_buf_1;
	}
	S_UTX = !S_UTX;
}

//-----------   UART0 中斷服務程序   ----------------
//工作原理:
//RX時,字節間隔時間大于幀間隔RX_OVER作為幀結束標志。
//	第一個字節為包長度,其后為正文。
//--------------------------------------------------
void UART_ISR ( void )	interrupt 4 using 1
{

	if ( RI0  )
	{
		RI0 = 0;
		if ( !S_FTX )
		{//第1分組
			S_FTX = 1;	//FTX燈亮。
			switch_URX_buf();
		}
		URX_time = URX_GAP;	//重置幀間隔
		*URX_ptr = SBUF0;
		URX_ptr++;
		URX_i++;
		if ( URX_i == 32 )
		{//URX收到1個分組。
			RF_case = FTX_start;	//啟動無線發射任務
			switch_URX_buf();
		}
	}

	if ( TI0 )
	{
		TI0 = 0;
		if ( UTX_i )
		{
			SBUF0 = *UTX_ptr;
			UTX_ptr++;
			UTX_i--;
		}
		else
		{
			S_TI0 = 0;
		}

	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品欧美一区二区蜜桃免费| 这里是久久伊人| 一本色道**综合亚洲精品蜜桃冫| 在线观看欧美精品| 2020日本不卡一区二区视频| 亚洲男人的天堂一区二区| 日日噜噜夜夜狠狠视频欧美人 | 69久久夜色精品国产69蝌蚪网| 久久久久九九视频| 亚洲最大色网站| 国产一区二区毛片| 欧美精品精品一区| 亚洲人成人一区二区在线观看| 国产在线精品一区二区不卡了 | 久久色.com| 首页综合国产亚洲丝袜| 99国产精品国产精品久久| 日韩精品一区二区三区中文精品| 亚洲最新在线观看| 成人18视频在线播放| 亚洲丝袜制服诱惑| 激情欧美一区二区三区在线观看| 欧美日韩三级一区| 亚洲精品欧美激情| proumb性欧美在线观看| 欧美刺激午夜性久久久久久久| 亚洲大片在线观看| 色素色在线综合| 亚洲婷婷综合久久一本伊一区 | 一区二区三区四区在线| 99国产一区二区三精品乱码| 国产亚洲一区二区在线观看| 九九九久久久精品| 5月丁香婷婷综合| 亚洲国产日日夜夜| 欧美在线观看你懂的| 一区二区三区在线观看国产| 色久综合一二码| 亚洲色图欧洲色图| 91亚洲国产成人精品一区二三| 欧美国产综合一区二区| 国产91精品免费| 国产午夜精品久久久久久免费视| 精品一区二区三区免费视频| 精品福利在线导航| 精品一区二区三区香蕉蜜桃| 精品盗摄一区二区三区| 国产精品中文字幕一区二区三区| 国产欧美日韩另类一区| 成人高清av在线| 亚洲欧洲精品一区二区三区不卡| 91污片在线观看| 亚洲精品欧美激情| 欧美一区二区三区在线电影| 激情综合亚洲精品| 日本一区二区成人在线| 95精品视频在线| 一区二区三区四区视频精品免费 | 成人av网站在线观看免费| 国产精品成人一区二区艾草| 色综合色狠狠天天综合色| 亚洲成人7777| 精品国产制服丝袜高跟| 国产成人精品免费在线| 亚洲免费资源在线播放| 欧美人牲a欧美精品| 久久精品72免费观看| 国产亚洲精久久久久久| 91老师国产黑色丝袜在线| 亚洲福利一二三区| 久久久久国色av免费看影院| 91美女片黄在线观看| 日韩不卡一区二区| 国产精品嫩草影院com| 欧美日韩免费在线视频| 国产一区二区免费视频| 亚洲精品成人在线| 日韩精品中文字幕一区 | 日本欧美韩国一区三区| 国产喂奶挤奶一区二区三区| 欧洲av在线精品| 国产一区免费电影| 亚洲午夜久久久久中文字幕久| 久久一留热品黄| 91福利国产成人精品照片| 极品少妇xxxx精品少妇偷拍| 亚洲精品欧美在线| 欧美精品一区二区三| 在线中文字幕一区| 丁香婷婷综合色啪| 免费在线观看一区二区三区| 亚洲视频一区在线| 久久久久久久久久久久电影| 欧美日韩高清一区二区不卡| eeuss鲁一区二区三区| 美国欧美日韩国产在线播放| 亚洲激情自拍视频| 国产视频一区在线播放| 日韩欧美成人激情| 欧美日韩卡一卡二| 91在线你懂得| 成人激情免费网站| 国产一区二区伦理| 麻豆精品视频在线| 亚洲一级二级在线| 亚洲欧洲韩国日本视频| 国产三级精品三级| 精品国产99国产精品| 在线不卡中文字幕| 欧美日韩一二区| 色综合久久久久综合99| 国产成人精品免费在线| 国内精品国产三级国产a久久| 轻轻草成人在线| 天天av天天翘天天综合网色鬼国产| 亚洲人成精品久久久久久| 国产欧美在线观看一区| 欧美sm美女调教| 日韩美一区二区三区| 欧美一区二区三区小说| 欧美一区三区四区| 欧美一级搡bbbb搡bbbb| 欧美三级中文字| 欧美精品一级二级| 欧美一区二区三区四区视频| 日韩亚洲电影在线| 欧美一区二区三区白人| 337p亚洲精品色噜噜噜| 日韩一区二区三区四区| 精品理论电影在线观看 | 国产精品白丝jk白祙喷水网站| 麻豆精品视频在线观看视频| 国产一区二区三区香蕉| 国产精品亚洲一区二区三区在线| 国产大陆a不卡| 成人免费视频网站在线观看| 成人视屏免费看| 色综合中文字幕国产| 91在线视频18| 欧美日韩亚洲综合一区二区三区| 欧美丰满少妇xxxxx高潮对白| 日韩一区二区三区电影在线观看| 久久综合五月天婷婷伊人| 国产亚洲婷婷免费| 亚洲视频一区在线| 水野朝阳av一区二区三区| 蜜臀av国产精品久久久久| 国产精品自拍av| 99在线热播精品免费| 欧美日韩一区二区三区四区| 日韩精品一区二区三区在线观看 | 懂色av一区二区三区免费观看| 成人免费毛片片v| 在线一区二区观看| 日韩欧美国产综合一区| 欧美高清在线一区| 亚洲国产成人av网| 国模少妇一区二区三区| 色一区在线观看| 日韩欧美中文字幕一区| 中文字幕va一区二区三区| 亚洲午夜成aⅴ人片| 国内久久精品视频| 91麻豆产精品久久久久久| 日韩三级高清在线| 最新中文字幕一区二区三区| 亚洲6080在线| 成人综合日日夜夜| 欧美一区二区久久| 亚洲人成精品久久久久久| 久久精品国产一区二区三 | 91在线码无精品| 日韩女优制服丝袜电影| 亚洲免费大片在线观看| 国产综合成人久久大片91| 91成人在线免费观看| 国产欧美视频在线观看| 三级欧美韩日大片在线看| 懂色中文一区二区在线播放| 91精品国产91久久综合桃花| 樱桃国产成人精品视频| 狠狠色丁香婷婷综合| 欧美日韩国产一二三| 国产精品久久国产精麻豆99网站| 久久精品国产一区二区三| 欧美系列在线观看| 最新成人av在线| 国产精品亚洲第一区在线暖暖韩国| 制服丝袜激情欧洲亚洲| 亚洲精品videosex极品| 高清av一区二区| 久久嫩草精品久久久精品| 日韩av在线免费观看不卡| 在线视频一区二区免费| 国产精品家庭影院| 高清视频一区二区| 久久综合久久久久88| 精品一区二区av| 91精品国产综合久久蜜臀| 亚洲一区二区黄色|