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

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

?? receive.txt

?? cc1100和STC單片機的無限接收器
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
//輸出:無
//功能描述:SPI連續寫配置寄存器
//*****************************************************************************************
void halSpiWriteBurstReg(INT8U addr, INT8U *buffer, INT8U count) 
{
    INT8U i, temp;
	temp = addr | WRITE_BURST;
    CSN = 0;
    while (MISO);
    SpiTxRxByte(temp);
    for (i = 0; i < count; i++)
 	{
        SpiTxRxByte(buffer[i]);
    }
    CSN = 1;
}

//*****************************************************************************************
//函數名:void halSpiStrobe(INT8U strobe)
//輸入:命令
//輸出:無
//功能描述:SPI寫命令
//*****************************************************************************************
void halSpiStrobe(INT8U strobe) 
{
    CSN = 0;
    while (MISO);
    SpiTxRxByte(strobe);		//寫入命令
    CSN = 1;
}





//*****************************************************************************************
//函數名:INT8U halSpiReadReg(INT8U addr)
//輸入:地址
//輸出:該寄存器的配置字
//功能描述:SPI讀寄存器
//*****************************************************************************************
INT8U halSpiReadReg(INT8U addr) 
{
	INT8U temp, value;
    temp = addr|READ_SINGLE;//讀寄存器命令
	CSN = 0;
	while (MISO);
	SpiTxRxByte(temp);
	value = SpiTxRxByte(0);
	CSN = 1;
	return value;
}


//*****************************************************************************************
//函數名:void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count)
//輸入:地址,讀出數據后暫存的緩沖區,讀出配置個數
//輸出:無
//功能描述:SPI連續寫配置寄存器
//*****************************************************************************************
void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count) 
{
    INT8U i,temp;
	temp = addr | READ_BURST;		//寫入要讀的配置寄存器地址和讀命令
    CSN = 0;
    while (MISO);
	SpiTxRxByte(temp);   
    for (i = 0; i < count; i++) 
	{
        buffer[i] = SpiTxRxByte(0);
    }
    CSN = 1;
}


//*****************************************************************************************
//函數名:INT8U halSpiReadReg(INT8U addr)
//輸入:地址
//輸出:該狀態寄存器當前值
//功能描述:SPI讀狀態寄存器
//*****************************************************************************************
INT8U halSpiReadStatus(INT8U addr) 
{
    INT8U value,temp;
	temp = addr | READ_BURST;		//寫入要讀的狀態寄存器的地址同時寫入讀命令
    CSN = 0;
    while (MISO);
    SpiTxRxByte(temp);
	value = SpiTxRxByte(0);
	CSN = 1;
	return value;
}


//*****************************************************************************************
//函數名:void halRfWriteRfSettings(RF_SETTINGS *pRfSettings)
//輸入:無
//輸出:無
//功能描述:配置CC1100的寄存器
//*****************************************************************************************
void halRfWriteRfSettings(void) 
{
	halSpiWriteReg(CCxxx0_FSCTRL0,  rfSettings.FSCTRL2);//自已加的
    // Write register settings
    halSpiWriteReg(CCxxx0_FSCTRL1,  rfSettings.FSCTRL1);
    halSpiWriteReg(CCxxx0_FSCTRL0,  rfSettings.FSCTRL0);
    halSpiWriteReg(CCxxx0_FREQ2,    rfSettings.FREQ2);
    halSpiWriteReg(CCxxx0_FREQ1,    rfSettings.FREQ1);
    halSpiWriteReg(CCxxx0_FREQ0,    rfSettings.FREQ0);
    halSpiWriteReg(CCxxx0_MDMCFG4,  rfSettings.MDMCFG4);
    halSpiWriteReg(CCxxx0_MDMCFG3,  rfSettings.MDMCFG3);
    halSpiWriteReg(CCxxx0_MDMCFG2,  rfSettings.MDMCFG2);
    halSpiWriteReg(CCxxx0_MDMCFG1,  rfSettings.MDMCFG1);
    halSpiWriteReg(CCxxx0_MDMCFG0,  rfSettings.MDMCFG0);
    halSpiWriteReg(CCxxx0_CHANNR,   rfSettings.CHANNR);
    halSpiWriteReg(CCxxx0_DEVIATN,  rfSettings.DEVIATN);
    halSpiWriteReg(CCxxx0_FREND1,   rfSettings.FREND1);
    halSpiWriteReg(CCxxx0_FREND0,   rfSettings.FREND0);
    halSpiWriteReg(CCxxx0_MCSM0 ,   rfSettings.MCSM0 );
    halSpiWriteReg(CCxxx0_FOCCFG,   rfSettings.FOCCFG);
    halSpiWriteReg(CCxxx0_BSCFG,    rfSettings.BSCFG);
    halSpiWriteReg(CCxxx0_AGCCTRL2, rfSettings.AGCCTRL2);
	halSpiWriteReg(CCxxx0_AGCCTRL1, rfSettings.AGCCTRL1);
    halSpiWriteReg(CCxxx0_AGCCTRL0, rfSettings.AGCCTRL0);
    halSpiWriteReg(CCxxx0_FSCAL3,   rfSettings.FSCAL3);
	halSpiWriteReg(CCxxx0_FSCAL2,   rfSettings.FSCAL2);
	halSpiWriteReg(CCxxx0_FSCAL1,   rfSettings.FSCAL1);
    halSpiWriteReg(CCxxx0_FSCAL0,   rfSettings.FSCAL0);
    halSpiWriteReg(CCxxx0_FSTEST,   rfSettings.FSTEST);
    halSpiWriteReg(CCxxx0_TEST2,    rfSettings.TEST2);
    halSpiWriteReg(CCxxx0_TEST1,    rfSettings.TEST1);
    halSpiWriteReg(CCxxx0_TEST0,    rfSettings.TEST0);
    halSpiWriteReg(CCxxx0_IOCFG2,   rfSettings.IOCFG2);
    halSpiWriteReg(CCxxx0_IOCFG0,   rfSettings.IOCFG0);    
    halSpiWriteReg(CCxxx0_PKTCTRL1, rfSettings.PKTCTRL1);
    halSpiWriteReg(CCxxx0_PKTCTRL0, rfSettings.PKTCTRL0);
    halSpiWriteReg(CCxxx0_ADDR,     rfSettings.ADDR);
    halSpiWriteReg(CCxxx0_PKTLEN,   rfSettings.PKTLEN);
}






//*****************************************************************************************
//函數名:void halRfSendPacket(INT8U *txBuffer, INT8U size)
//輸入:發送的緩沖區,發送數據個數
//輸出:無
//功能描述:CC1100發送一組數據
//*****************************************************************************************
void halRfSendPacket(INT8U *txBuffer, INT8U size) 
{
	halSpiWriteReg(CCxxx0_TXFIFO, size);
    halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size);	//寫入要發送的數據

    halSpiStrobe(CCxxx0_STX);		//進入發送模式發送數據

    // Wait for MISO to be set -> sync transmitted
    while (!GDO0);

    // Wait for MISO to be cleared -> end of packet
    while (GDO0);
	halSpiStrobe(CCxxx0_SFTX);
}



INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length) 
{
    INT8U status[2];
    INT8U packetLength;

    halSpiStrobe(CCxxx0_SRX);		//進入接收狀態
    while (!GDO0);
    while (GDO0);
    if ((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO)) //如果接的字節數不為0
	{
        packetLength = halSpiReadReg(CCxxx0_RXFIFO);//讀出第一個字節,此字節為該幀數據長度
        if (packetLength <= *length) 		//如果所要的有效數據長度小于等于接收到的數據包的長度
		{
            halSpiReadBurstReg(CCxxx0_RXFIFO, rxBuffer, packetLength); //讀出所有接收到的數據
            *length = packetLength;				//把接收數據長度的修改為當前數據的長度
        
            // Read the 2 appended status bytes (status[0] = RSSI, status[1] = LQI)
            halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2); 	//讀出CRC校驗位
            return (status[1] & CRC_OK);			//如果校驗成功返回接收成功
        }
		 else 
		{
            *length = packetLength;
            halSpiStrobe(CCxxx0_SFRX);		//清洗接收緩沖區
            return 0;
        }
    } 
	else
 	return 0;
}

/******************************************************************************************
*******************************************************************************************
************************************中斷服務程序*********************************************
*******************************************************************************************
******************************************************************************************/
/*void Timer0ISR(void) interrupt 1
{
	EA = 0;
	TH0+=TIMER0H;
	TL0+=TIMER0L;
	TimerCount++;
	timer[0]++;
	timer[1]++;
	EA = 1;
}
*/
void delay1ms(int t)
{  
  int i,j;
  for(i=0;i<t;i++)
  for(j=0;j<120;j++)
;
}


/******************************************************************************************
*******************************************************************************************
******************************************主程序*******************************************
*******************************************************************************************
******************************************************************************************/
main(void)
{
    INT8U i;
	INT8U leng;
	INT8U code arrTx[60]="I will always love you like that , You are my only one";
	INT8U  arrRx[60];
	CpuInit();
	POWER_UP_RESET_CC1100();
	halRfWriteRfSettings();
	halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8);
	LED1 = 0;
	delay(60000);
	LED1 = 1;
	delay(30000);
    leng=sizeof arrTx;
	while(1)
	{	
       	
			 
		  halRfSendPacket(arrTx,leng);
		  LED2 = 0;
		  delay(1000);
		  LED2 = 1;
		  delay(2000);
                       
                 
  
		if(halRfReceivePacket(arrRx,&leng))
		{
			LED2 = 0;
			delay(1000);
			LED2 = 1;
			halSpiStrobe(CCxxx0_SFRX);
			for(i=0;i<leng;i++)
            {
             SendCh(arrRx[i]);
            }
			
			
 
            
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频完全免费看| 精品污污网站免费看| 亚洲午夜国产一区99re久久| 欧美一卡二卡三卡四卡| 99亚偷拍自图区亚洲| 美女在线观看视频一区二区| 国产精品久久久一本精品 | 亚洲黄一区二区三区| 精品久久免费看| 欧美精三区欧美精三区| 成人av在线电影| 另类小说一区二区三区| 亚洲综合小说图片| 亚洲人成影院在线观看| 亚洲精品一区二区三区在线观看| 在线精品视频免费观看| 成人丝袜视频网| 国产麻豆成人精品| 琪琪久久久久日韩精品| 亚洲一二三区不卡| 亚洲精品乱码久久久久| 中文字幕va一区二区三区| 久久综合久久鬼色中文字| 91精品婷婷国产综合久久竹菊| 色综合久久久久久久| 风间由美中文字幕在线看视频国产欧美 | 99久免费精品视频在线观看 | 91国在线观看| aaa亚洲精品| 成人精品小蝌蚪| 国产.欧美.日韩| 国产suv精品一区二区6| 九一九一国产精品| 久久国产福利国产秒拍| 日本欧美一区二区| 奇米综合一区二区三区精品视频| 视频一区视频二区中文| 亚洲va在线va天堂| 午夜精品一区在线观看| 亚洲v中文字幕| 日本不卡中文字幕| 美女一区二区三区| 麻豆成人久久精品二区三区小说| 免费观看30秒视频久久| 日本美女一区二区三区| 日本aⅴ免费视频一区二区三区| 丝袜美腿亚洲一区| 日本不卡一二三区黄网| 麻豆精品精品国产自在97香蕉| 蜜芽一区二区三区| 极品美女销魂一区二区三区| 精品一区二区三区在线视频| 国模套图日韩精品一区二区| 东方欧美亚洲色图在线| 99视频超级精品| 在线观看亚洲精品| 欧美高清www午色夜在线视频| 日韩一区二区三区在线视频| 精品88久久久久88久久久 | 日日摸夜夜添夜夜添国产精品| 亚洲一区在线观看网站| 天天av天天翘天天综合网| 青青草国产精品亚洲专区无| 精品一区二区三区在线播放| 国产精品亚洲视频| 一本色道久久综合狠狠躁的推荐| 欧美绝品在线观看成人午夜影视| 欧美一区二区三区男人的天堂| 久久―日本道色综合久久| 日本一二三四高清不卡| 夜夜操天天操亚洲| 看片网站欧美日韩| 成人sese在线| 欧美日产国产精品| 久久综合九色欧美综合狠狠| 亚洲视频精选在线| 美女视频一区在线观看| 成人精品国产一区二区4080 | 亚洲国产精品黑人久久久| 亚洲欧美一区二区三区孕妇| 日韩精品成人一区二区三区 | 欧美一区二区三区免费在线看 | 免费高清在线视频一区·| 粉嫩蜜臀av国产精品网站| 欧美性高清videossexo| 2020日本不卡一区二区视频| 一级日本不卡的影视| 国产精品一区二区在线观看不卡| 一本在线高清不卡dvd| 精品日韩欧美在线| 一个色综合av| 国产成人亚洲精品青草天美| 欧美天堂一区二区三区| 国产午夜亚洲精品不卡| 视频一区视频二区中文| voyeur盗摄精品| 26uuu久久综合| 午夜精品123| 91麻豆文化传媒在线观看| 日韩欧美色电影| 亚洲国产欧美另类丝袜| 国产99一区视频免费| 日韩网站在线看片你懂的| 亚洲日本va午夜在线影院| 久久91精品国产91久久小草| 欧美综合一区二区三区| 中文字幕一区视频| 国内成人免费视频| 91精品综合久久久久久| 亚洲在线中文字幕| 91香蕉视频在线| 中文av一区二区| 国产精品一卡二卡在线观看| 欧美疯狂做受xxxx富婆| 一区二区三区成人在线视频| 成人不卡免费av| 国产喷白浆一区二区三区| 日韩精品三区四区| 欧美日韩精品欧美日韩精品一 | 亚洲精品亚洲人成人网| 国产成人精品影视| 久久久电影一区二区三区| 日韩不卡一区二区| 欧美日韩在线直播| 亚洲最大成人综合| 91视频一区二区三区| 中文字幕欧美区| 国产精品一区免费在线观看| 久久影院午夜片一区| 久久精品国产一区二区三区免费看| 51精品国自产在线| 午夜av电影一区| 欧美久久久久久久久中文字幕| 亚洲电影一区二区| 欧美日韩另类一区| 午夜激情久久久| 91精品国产色综合久久不卡蜜臀| 日本不卡不码高清免费观看| 91麻豆精品国产无毒不卡在线观看| 亚洲成人自拍偷拍| 欧美日韩国产影片| 蜜桃精品视频在线| 精品国产免费人成电影在线观看四季| 青娱乐精品在线视频| 日韩一区二区免费电影| 麻豆精品一区二区三区| 欧美第一区第二区| 国产一区二区电影| 欧美激情中文字幕一区二区| aa级大片欧美| 亚洲成人av一区| 欧美一区二区三区四区在线观看| 日本aⅴ精品一区二区三区 | 欧美久久久久久久久| 麻豆精品视频在线观看视频| 精品国产乱码久久久久久图片 | 青青草成人在线观看| 亚洲精品一区二区三区蜜桃下载| 国内精品不卡在线| 国产精品福利一区二区三区| 色拍拍在线精品视频8848| 亚洲va天堂va国产va久| 欧美v国产在线一区二区三区| 国产成人免费av在线| 1024成人网| 欧美放荡的少妇| 国产精品亚洲一区二区三区妖精| 中文字幕日韩精品一区| 精品视频一区 二区 三区| 免费的国产精品| 中文字幕的久久| 欧美日韩国产成人在线91| 久久国产乱子精品免费女| 日本一区二区三区久久久久久久久不 | 日韩免费看网站| 高清beeg欧美| 亚洲午夜av在线| 欧美精品一区二区三区蜜桃视频| 成人动漫视频在线| 日韩精品成人一区二区在线| 国产欧美一区二区精品婷婷 | 日本精品免费观看高清观看| 日本欧美久久久久免费播放网| 国产欧美日韩视频一区二区| 欧洲一区二区av| 国产精品主播直播| 亚洲国产成人av好男人在线观看| 亚洲精品一区二区三区福利| 91一区二区三区在线播放| 久久精品国产网站| 亚洲制服欧美中文字幕中文字幕| 久久―日本道色综合久久| 欧美日韩一二区| av在线播放不卡| 国产一区二三区| 五月天中文字幕一区二区| 成人免费在线观看入口| 久久亚区不卡日本| 欧美老女人在线| 一本色道综合亚洲|