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

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

?? rf.c

?? 臺灣義隆公司的EM198810 2.4G無線程序
?? C
字號:

#include "Main.H"


void Delay_Xms(INT8U D_val)
{
	INT8U i,j;
	for(i = 0;i<D_val;i++)
	{
		for(j=0;j<248;j++)
		{
			NOP();
			NOP();
		}
		NOP();
	}
}

//
//*****************************************************************************************
//函數名:SpisendByte(INT8U dat)
//輸入:發送的數據
//輸出:無
//功能描述:SPI發送一個字節
//*****************************************************************************************
//INT8U SpiTxRxByte(INT8U dat)
//{
//        INT8U i,temp;
//        temp = 0;
//
//        CLK = 0;
//        for(i=0; i<8; i++)
//        {
//			if(dat & 0x80)
//			{
//				MOSI = 1;
//			}
//			else
//				MOSI = 0;
//			dat <<= 1;
//
//			CLK = 1;
//			NOP();
//			NOP();
//
//			temp <<= 1;
//			if(MISO)
//				temp++;
//			CLK = 0;
//			NOP();
//			NOP();
//		}
//        return temp;
//}


void SpiSendChar(INT8U txbuf)
{
	INT8U i;
	for(i = 0; i < 8; i++)
	{
		txbuf <<= 1;
		MOSI = CARRY;
		CLK = 1;
		CLK = 0;
		NOP();
		NOP();
		NOP();
		NOP();
	}
}

INT8U SpiReceiveChar(void)
{
	INT8U i,RxData;
	RxData = 0;
	for(i = 0; i < 8;i++)
	{
		RxData <<= 1;
		CLK = 1;
		NOP();
		NOP();
		NOP();
		NOP();
		RxData |= MISO;
		CLK = 0;
		NOP();
		NOP();
		NOP();
		NOP();
	}
	return RxData;
}


void POWER_ON_RESET(void)
{
	SS = 1;
	MOSI = 1;
	RESET_n = 0;
	Delay_Xms(30);
	RESET_n = 1;
	Delay_Xms(30);
	RESET_n = 0;
	Delay_Xms(30);
	RESET_n = 1;
	Delay_Xms(26);
}

//清接收緩沖區
void Reset_Rx_FIFO(void)
{
	SS = 0;
	SpiSendChar(0x52);
//	Delay_Xms(1);
	SpiSendChar(0x00);
	SpiSendChar(0x80);
	SS = 1;
}
//進入接收狀態
void Enter_Rx_STATE(void)
{
	SS = 0;
	SpiSendChar(0x07);
//	Delay_Xms(1);
	SpiSendChar(0x00);
	SpiSendChar(0x90);
	SS = 1;
}

//讀緩沖
// *Length 接收數據的長度
// *RxBuf  接收數據的緩沖
void Read_FIFO(INT8U *Length,INT8U *rxbuffer)
{
	INT8U i;

	SS = 0;
	SpiSendChar(0xD0);
//	Delay_Xms(1);
	*Length = SpiReceiveChar();
//	for(i = 0; i < *Length; i++)
	for(i = 0; i < 4; i++)//Test
	{
		*rxbuffer++ = SpiReceiveChar();
	}
	SS = 1;
}

//清發送緩沖
void Reset_Tx_FIFO(void)
{
	SS = 0;
	SpiSendChar(0x52);
//	Delay_Xms(1);
	SpiSendChar(0x80);
	SpiSendChar(0x00);
}

//進入發送狀態
void Enter_Tx_STATE(void)
{
	SS = 0;
	
	SpiSendChar(0x07);
//	Delay_Xms(1);
	SpiSendChar(0x01);
	SpiSendChar(0x10);
	SS = 1;
}

//寫發送緩沖
// Length 發送數據的長度
// TxBuf  發送緩沖
void Write_FIFO(INT8U Length,INT8U *txbuffer)
{
	INT8U i;
	SS = 0;
	SpiSendChar(0x50);
//	Delay_Xms(1);
	SpiSendChar(Length);
	for(i = 0; i < Length; i++)
	{
		SpiSendChar(*txbuffer++);
	}
	SS = 1;
}



void Write_EM198810_REG(INT8U Addr,INT16U EmData)
{
	SS = 0;
	SpiSendChar(Addr);
	NOP();
	NOP();
	NOP();
	NOP();
	NOP();
	SpiSendChar(EmData>>8);
	SpiSendChar(EmData);
	SS = 1;
}

INT16U Read_EM198810_REG(INT8U Addr)
{
	INT16U RxData;
	INT8U Data_Hi,Data_Li;

	SS = 0;
	Addr |= 0x80;
	SpiSendChar(Addr);

	//Delay_Xms(1);
	NOP();
	NOP();
	NOP();
	NOP();
	NOP();
	NOP();

	Data_Hi = SpiReceiveChar();

	Data_Li = SpiReceiveChar();
	Delay_Xms(13);

	RxData = 0;
	RxData = Data_Hi;
	RxData <<= 8;
	RxData |= Data_Li;
	SS = 1;
	return RxData;
}



void Initial_frame(void)
{
	INT8U frame_adr,i;
	INT16U frame_arr[]={0x9800,0xff0f,0x8028,0x8056,0x4ef6,0xf6f5,0x185c,0xd651,0x4404,0xe000,0x0000};
	for(i = 0,frame_adr = 0x30;i < 11;i++,frame_adr++)
	{
		Write_EM198810_REG(frame_adr,frame_arr[i]);
	}
}

void Initial_RF_REG(void)
{
	INT8U rf_adr,i;
	INT16U rf_reg[]={0x354f,0x1f01,0x38d8,0x00a1,0x124c,0x8008,0x2101,0x0004,0x4041,0x7e00,0x0000,0x169d,0x802f,0xb0f8,0xe000,0xa114,0x8191,0x6962,0x0002,0x0002,0xb140,0x780f,0x3f04,0x5800};
	
	for(i=0,rf_adr = 0;rf_adr < 0x1d;rf_adr++)
	{
		if((rf_adr == 1) || (rf_adr == 3) || (rf_adr == 6) || (rf_adr == 0x11) || (rf_adr == 0x1b))
			continue;
		
		Write_EM198810_REG(rf_adr,rf_reg[i]);
		i++;
	}
}

//	Write_EM198810_REG(0x00,0x354f);
//	Write_EM198810_REG(0x02,0x1f01);
//	Write_EM198810_REG(0x04,);
//	Write_EM198810_REG(0x05,);
//	Write_EM198810_REG(0x07,);
//	Write_EM198810_REG(0x08,);
//	Write_EM198810_REG(0x09,);
//	Write_EM198810_REG(0x0a,);
//	Write_EM198810_REG(0x0b,);
//	Write_EM198810_REG(0x0c,);
//	Write_EM198810_REG(0x0d,);
//	Write_EM198810_REG(0x0e,);
//	Write_EM198810_REG(0x0f,);
//	Write_EM198810_REG(0x10,);
////	Write_EM198810_REG(0x11,0x0066);
//	Write_EM198810_REG(0x12,);
//	Write_EM198810_REG(0x13,);
//	Write_EM198810_REG(0x14,);
//	Write_EM198810_REG(0x15,);
//	Write_EM198810_REG(0x16,);
//	Write_EM198810_REG(0x17,);
//	Write_EM198810_REG(0x18,);
//	Write_EM198810_REG(0x19,);
//	Write_EM198810_REG(0x1a,);
////	Write_EM198810_REG(0x1b,0x8000);
//	Write_EM198810_REG(0x1c,);


void Initial_RF(void)
{
	POWER_ON_RESET();

	Initial_frame();
	Delay_Xms(26);
	Initial_RF_REG();
	Delay_Xms(26);
	Delay_Xms(52);
}


//INT8U REG_TEST(void)
//{
//	INT16U temp;
//	temp = Read_EM198810_REG(0x00);
//	if(temp != 0x354f) return 0;
//	temp = Read_EM198810_REG(0x02);
//	if(temp != 0x1f01) return 0;
//	temp = Read_EM198810_REG(0x04);
//	if(temp != 0x38d8) return 0;
//	temp = Read_EM198810_REG(0x05);
//	if(temp != 0x00a1) return 0;
//	temp = Read_EM198810_REG(0x07);
//	if(temp != 0x124c) return 0;
//	temp = Read_EM198810_REG(0x08);
//	if(temp != 0x8008) return 0;
//	temp = Read_EM198810_REG(0x09);
//	if(temp != 0x2101) return 0;
//	temp = Read_EM198810_REG(0x0a);
//	if(temp != 0x0004) return 0;
//	temp = Read_EM198810_REG(0x0b);
//	if(temp != 0x4041) return 0;
//	temp = Read_EM198810_REG(0x0c);
//	if(temp != 0x7e00) return 0;
//	temp = Read_EM198810_REG(0x0d);
//	if(temp != 0x0000) return 0;
//	temp = Read_EM198810_REG(0x0e);
//	if(temp != 0x169d) return 0;
//	temp = Read_EM198810_REG(0x0f);
//	if(temp != 0x802f) return 0;
//	temp = Read_EM198810_REG(0x10);
//	if(temp != 0xb0f8) return 0;
////	temp = Read_EM198810_REG(0x11);
////	if(temp != 0x0066) return 0;
//	temp = Read_EM198810_REG(0x12);
//	if(temp != 0xe000) return 0;
//	temp = Read_EM198810_REG(0x13);
//	if(temp != 0xa114) return 0;
//	temp = Read_EM198810_REG(0x14);
//	if(temp != 0x8191) return 0;
//	temp = Read_EM198810_REG(0x15);
//	if(temp != 0x6962) return 0;
//	temp = Read_EM198810_REG(0x16);
//	if(temp != 0x0002) return 0;
//	temp = Read_EM198810_REG(0x17);
//	if(temp != 0x0002) return 0;
//	temp = Read_EM198810_REG(0x18);
//	if(temp != 0xb140) return 0;
//	temp = Read_EM198810_REG(0x19);
//	if(temp != 0x780f) return 0;
//	temp = Read_EM198810_REG(0x1a);
//	if(temp != 0x3f04) return 0;
////	temp = Read_EM198810_REG(0x1b);
////	if(temp != 0x8000) return 0;
//	temp = Read_EM198810_REG(0x1c);
//	if(temp != 0x5800) return 0;
//
//	return 1;
//}


void TxD_RF(INT8U Len,INT8U *dat)
{
	Reset_Tx_FIFO();
	Delay_Xms(11);
	Enter_Tx_STATE();
	Delay_Xms(11);
	Write_FIFO(Len,dat);
	while(PKT_FLAG == 0);
	Delay_Xms(20);
//	Reset_Rx_FIFO();
//	Enter_Rx_STATE();
}





INT8U RxD_RF(INT8U *Len,INT8U *dat)
{
	INT8U i;
	Reset_Rx_FIFO();
	Delay_Xms(20);
	Enter_Rx_STATE();
	for(i=0;i<10;i++)
	{
		Delay_Xms(20);
	}
	
	if(PKT_FLAG)
	{
		Read_FIFO(Len,dat);
		return 1;
	}
	else
		return 0;
}


void Write_Test(void)
{
	Write_EM198810_REG(0x34,0x6201);
	Delay_Xms(2);
	Write_EM198810_REG(0x35,0x6302);
	Delay_Xms(2);
	Write_EM198810_REG(0x36,0x6403);
	Delay_Xms(2);
}

void SpiReadTest(void)
{
	INT8U Adr_R,R_Data_Hi,R_Data_Lo,i;
	
	for(i=0;i<50;i++)
	{
		SS = 0;
		Adr_R = i+29;
		Adr_R |= 0x80;
		SpiSendChar(Adr_R);
		Delay_Xms(1);
		R_Data_Hi = SpiReceiveChar();
		Delay_Xms(1);
		R_Data_Lo = SpiReceiveChar();
		SS = 1;
		Write_E2prom_Byte(i*2,R_Data_Hi);
		Write_E2prom_Byte(i*2+1,R_Data_Lo);
		Delay_Xms(1);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区视频网页| 五月激情丁香一区二区三区| 一区二区三区日韩| 欧美aaaaaa午夜精品| 不卡av在线免费观看| 日韩欧美国产一区二区三区| 国产精品天天看| 激情五月播播久久久精品| 色香蕉久久蜜桃| 欧美激情一二三区| 麻豆一区二区在线| 欧美精品在线视频| 国产精品久久久久影视| 免费精品视频在线| 欧美日韩一区二区三区视频| 日韩一区中文字幕| 成人一区二区视频| 精品国产伦一区二区三区观看方式 | 色哟哟国产精品免费观看| 国产亚洲美州欧州综合国| 日本vs亚洲vs韩国一区三区二区| 一区二区三区**美女毛片| 国产自产视频一区二区三区 | 国产一区二区三区免费播放| 欧美色手机在线观看| 亚洲视频每日更新| 成人毛片视频在线观看| 欧美精品一区男女天堂| 久久精品国产**网站演员| 欧美丰满少妇xxxxx高潮对白| 中文字幕综合网| 高清不卡在线观看| 国产日韩欧美不卡| 国产aⅴ综合色| 国产午夜精品久久久久久久| 国产精品一区二区久久精品爱涩 | 91官网在线免费观看| 日韩一区欧美一区| 9久草视频在线视频精品| 国产精品久久久久久久浪潮网站| 国产99久久精品| 国产欧美精品国产国产专区| 成人小视频免费在线观看| 欧美韩国日本综合| 99re成人精品视频| 亚洲精品国久久99热| 欧美三级一区二区| 首页国产欧美久久| 日韩色在线观看| 久久精品噜噜噜成人av农村| 欧美白人最猛性xxxxx69交| 激情图区综合网| 久久精品夜夜夜夜久久| 国产精品自拍一区| 国产精品婷婷午夜在线观看| 一本色道综合亚洲| 天天综合网天天综合色| 91精品免费在线观看| 激情国产一区二区| 国产精品乱码一区二三区小蝌蚪| 色吧成人激情小说| 蜜桃久久精品一区二区| 中文子幕无线码一区tr| 欧美自拍偷拍一区| 激情六月婷婷久久| 亚洲综合激情网| 久久一区二区三区四区| av一区二区三区黑人| 午夜激情一区二区| 欧美—级在线免费片| 欧美无砖砖区免费| 国产九色精品成人porny| 一区二区三区四区视频精品免费| 日韩欧美国产小视频| 99精品久久只有精品| 麻豆91小视频| 一区二区三区精品视频| 久久综合丝袜日本网| 日本道在线观看一区二区| 国产一区视频在线看| 亚洲综合丁香婷婷六月香| 久久影院视频免费| 欧美日韩成人综合天天影院 | 亚洲国产精品天堂| 国产视频一区二区三区在线观看| 在线亚洲一区观看| 国产mv日韩mv欧美| 蜜桃一区二区三区在线| 伊人婷婷欧美激情| 中文字幕av一区 二区| 日韩亚洲欧美中文三级| 欧美性大战久久久久久久蜜臀| 国内精品视频666| 天天综合网天天综合色| 亚洲另类春色校园小说| 国产清纯白嫩初高生在线观看91| 日韩一区二区三区观看| 欧美日韩精品高清| 色哟哟在线观看一区二区三区| 国产成人精品免费一区二区| 日韩av在线发布| 亚洲午夜视频在线观看| 亚洲日穴在线视频| 国产精品每日更新| 久久精品视频在线免费观看| 日韩欧美激情四射| 欧美一区二区播放| 欧美高清激情brazzers| 在线观看视频91| 91黄色免费看| 色妹子一区二区| 91欧美一区二区| 97精品国产露脸对白| av中文字幕亚洲| 97精品久久久午夜一区二区三区 | 色八戒一区二区三区| 成人国产亚洲欧美成人综合网| 国产精品资源在线看| 九色porny丨国产精品| 久久国产夜色精品鲁鲁99| 免费视频一区二区| 久久精品久久精品| 国产又黄又大久久| 成人精品国产福利| av在线这里只有精品| 91免费国产在线观看| 91久久国产最好的精华液| 欧美日韩免费电影| 欧美一区二区三区在线视频| 欧美成人video| 久久久久国产免费免费| 中文字幕精品—区二区四季| 亚洲人成电影网站色mp4| 亚洲一线二线三线久久久| 日韩成人dvd| 国产九九视频一区二区三区| 99精品视频一区二区三区| 91黄色免费版| 精品久久一区二区三区| 欧美韩日一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲国产欧美在线| 经典三级一区二区| 五月婷婷综合在线| 久久99精品久久久久婷婷| 成人午夜电影久久影院| 欧美亚一区二区| 久久这里只有精品6| 亚洲激情图片小说视频| 全国精品久久少妇| av午夜一区麻豆| 欧美日韩美女一区二区| 精品国产免费久久| 亚洲精品久久嫩草网站秘色| 久久黄色级2电影| 不卡一卡二卡三乱码免费网站| 欧美日韩国产综合草草| 国产女主播在线一区二区| 一区二区激情视频| 国产精品亚洲一区二区三区妖精| 色婷婷精品大在线视频| 精品日产卡一卡二卡麻豆| 亚洲人成在线观看一区二区| 日av在线不卡| 色综合久久六月婷婷中文字幕| 日韩一区二区视频在线观看| 亚洲另类色综合网站| 国产一区二区三区四区五区入口| 欧美在线免费播放| 亚洲国产精品黑人久久久| 日本不卡1234视频| 在线观看一区二区视频| 欧美激情在线看| 精品在线播放免费| 欧美日韩精品高清| 一区二区三区四区高清精品免费观看 | 国内精品写真在线观看| 欧美日韩一区二区三区四区五区| 国产精品亲子乱子伦xxxx裸| 久久精品久久综合| 3atv一区二区三区| 亚洲宅男天堂在线观看无病毒| 国产成a人亚洲精| 久久综合久久鬼色中文字| 亚洲午夜久久久| 91精彩视频在线| 亚洲免费色视频| 99国产一区二区三精品乱码| 国产亚洲美州欧州综合国| 久久99国产精品久久| 欧美丰满高潮xxxx喷水动漫| 亚洲国产视频一区| 在线观看网站黄不卡| 一区二区三区美女视频| 91免费视频网| 亚洲视频一区二区在线观看| 99视频一区二区三区| 中文在线资源观看网站视频免费不卡| 国产乱妇无码大片在线观看| 精品国产一区二区亚洲人成毛片 |