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

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

?? +?

?? 使用CC1101無線模塊進行多機通信
??
?? 第 1 頁 / 共 2 頁
字號:
/*--------------------------------------------------------------------
名稱:無線模塊接收程序
功能:
描述:
日期:
--------------------------------------------------------------------*/


#include  <msp430x14x.h>
#include <stdlib.h>
#include "CC1101_h.h"



#define CSn_PIN     BIT5//P1.5cs使能信號,在地址和數據轉換期間,CSn腳(芯片選擇,低電平有效)
//必須保持低電平,如果過程中變成高,則取消轉換。
#define GDO0_PIN    BIT4//P1.4
#define SPI_SOMI    BIT3//P1.2(和GDO1為同一個腳)//接收數據引腳
#define SPI_CLK     BIT2//P1.1 時鐘引腳,發送數據下降沿,接收數據上升沿。
#define SPI_SIMO    BIT1//P1.0發送數據引腳

//unsigned char txBuffer[LENGTH_ID];  
unsigned char rxBuffer[LENGTH+1];//數據長度最大值,收到的數據存放在rxBuffer當中。
//unsigned char RxFlag;//
unsigned char rxAddr[2];//發送方的地址存放在rxAddrz當中。
unsigned int rxLength;//
//-----------------------------------------------------------------------------
//輸出數據,發送數據并接收狀態信息,返回值為狀態信息。
//-----------------------------------------------------------------------------
unsigned char SPI_bitbang_out(unsigned char value)//位響應
{
     unsigned char i;
     unsigned char rTemp;//接收狀態信息數據
     
     for(i = 0; i < 8; i++)
     {  
         P2OUT &=~SPI_CLK;                    //CLK=0 Set clock low 
         if(value & 0x80)
           P2OUT |=  SPI_SIMO;  // SIMO=1 Set SIMO high...
         else 
           P2OUT &= ~SPI_SIMO;             // SIMO=0 Set SIMO low...
         
         value = value << 1;       
         P2OUT |= SPI_CLK;                    //CLK=1 Set clock high
         
         rTemp <<= 1;
         if(P2IN & SPI_SOMI)//通過SO接收,芯片狀態。    
           rTemp |= 0x01; //最低位置1
         else
           rTemp &= 0xfe; //最低位置0
     }
     
     P2OUT &=~SPI_CLK;                        //CLK=0 Set clock low 
     
    return(rTemp);
}

//------------------------------------------------------------------------------------
// Input eight-bit value using selected bit-bang pins
//接收數據。
//------------------------------------------------------------------------------------
unsigned char SPI_bitbang_in(void)
{ 
     unsigned char i;
     unsigned char rTemp;
     
     for(i = 8; i > 0; i--)
     {   
         P2OUT |= SPI_CLK;                    //CLK=1 Set clock high
         rTemp <<= 1;
         
         if(P2IN & SPI_SOMI)
           rTemp |= 0x01;
         else
           rTemp &= 0xfe;
         
         P2OUT &=~SPI_CLK;                    //CLK=0 Set clock low    
     }
     return(rTemp);
}

//--------------------------------------------------------------------------------
//spi寫寄存器
//--------------------------------------------------------------------------------
void SPIWriteReg(unsigned char addr, unsigned char value)
{
    P2OUT &=~CSn_PIN;                         //CS=0 CS enable開啟cs使能
    while (P2IN & SPI_SOMI);                  
    //當CSn變低,在開始轉換頭字節之前,
    //MCU必須等待,指導SO腳變低,這表明電壓調制器已經穩定,晶體正在運作中, 除非芯片引腳,
    //處在sleep或者XOFF狀態,SO腳在CSn變低之后總會立即變低。
    // Wait for CCxxxx ready
    SPI_bitbang_out(addr);                    // Send address發送地址
    SPI_bitbang_out(value);                   // Send data發送數據
    P2OUT |= CSn_PIN;                         //CS=1 CS disable
}
//-----------------------------------------------------------------------------------
//spi寫burst寄存器
//----------------------------------------------------------------------------------
void SPIWriteBurstReg(unsigned char addr, unsigned char *buffer, unsigned char count)
{
     unsigned char i;
     P2OUT &=~CSn_PIN;                        //CS=0 CS enable//開啟cs使能
     while (P2IN & SPI_SOMI);                 // Wait for CCxxxx ready 
     SPI_bitbang_out(addr | CCxxx0_WRITE_BURST);   // Send address//發送地址
     for (i = 0; i < count; i++)
     {
         SPI_bitbang_out(buffer[i]);          // Send data//發送數據
     }
     P2OUT |= CSn_PIN;                        //CS=1 CS disable
}

//---------------------------------------------------------------------------------
//spi讀狀態
//---------------------------------------------------------------------------------
unsigned char SPIRead(unsigned char addr, unsigned char falg_read)
{
      unsigned char rTemp;
      P2OUT &=~CSn_PIN;                       //CS=0 CS enable開啟cs使能
      while (P2IN & SPI_SOMI);                // Wait for CCxxxx ready
      SPI_bitbang_out(addr | falg_read);      // Send address//發送地址
      rTemp = SPI_bitbang_in();               // Read data//讀數據
      P2OUT |= CSn_PIN;                       //CS=1 CS disable
      return ( rTemp );
}
//--------------------------------------------------------------------------------
//spi讀burst寄存器
//--------------------------------------------------------------------------------
void SPIReadBurstReg(unsigned char addr, unsigned char *buffer, unsigned char count)
{
    unsigned char i;
     P2OUT &=~CSn_PIN;                        //CS=0 CS enable
     while (P2IN & SPI_SOMI);                 // Wait for CCxxxx ready
     SPI_bitbang_out(addr | CCxxx0_READ_BURST);    // Send address
     for (i = 0; i < count; i++)
     {
         buffer[i] = SPI_bitbang_in();        // Read data
     }
     P2OUT |= CSn_PIN;                        //CS=1 CS disable
}

//------------------------------------------------------------------------------
//spistrobe
//------------------------------------------------------------------------------
unsigned char SPIStrobe(unsigned char strobe)
{
     unsigned char RxTxstatus;
     P2OUT &=~CSn_PIN;                        //CS=0 CS enable
     while (P2IN & SPI_SOMI);                 // Wait for CCxxxx ready
     RxTxstatus = SPI_bitbang_out(strobe);    // Send strobe//發送strobe
     P2OUT |= CSn_PIN;                        //CS=1 CS disable
     return(RxTxstatus);
}

//-----------------------------------------------------------------------------
//復位
//-----------------------------------------------------------------------------
void PowerupResetCCxxxx(void)
{
    P2OUT &=~SPI_CLK;                         //CLK=0 Set clock low 
    P2OUT &= ~SPI_SIMO;                       // SIMO=0 Set SIMO low...
    P2OUT |= CSn_PIN;                         //CS=1 CS disable
    _NOP();_NOP();_NOP();_NOP();_NOP();
     P2OUT &=~CSn_PIN;                        //CS=0 CS enable       
    _NOP();_NOP();_NOP();_NOP();_NOP();
    P2OUT |= CSn_PIN;                         //CS=1 CS disable
    _NOP();_NOP();_NOP();_NOP();_NOP();
    P2OUT &=~CSn_PIN;                         //CS=0 CS enable
    while (P2IN & SPI_SOMI);                  // Wait for CCxxxx ready
    SPI_bitbang_out(CCxxx0_SRES);
    while (P2IN & SPI_SOMI);                  // Wait for CCxxxx ready
    P2OUT |= CSn_PIN;                         //CS=1 CS disable
}
/*
void TxData(void)   //先采用查詢發送
{
       P1IE &= ~GDO0_PIN;   //關閉GDO0中斷      
       txBuffer[0] = 0;
       txBuffer[1] = 0x22;
       txBuffer[2] = 0x77;
       txBuffer[3] = 0xdd;
       SPIStrobe(CCxxx0_SFTX);                //刷新TX_FIFO
       SPIWriteBurstReg(CCxxx0_TXFIFO, txBuffer, LENGTH_ID ); // Write TX data;    LENGTH_ID == 4
       SPIStrobe(CCxxx0_STX);      // Change state to TX, initiatingdata transfer
       while (!( P1IN& GDO0_PIN));    // Wait GDO0 to go hi -> sync TX'ed                                   
       while ( P1IN& GDO0_PIN);       // Wait GDO0 to clear -> end of pkt
       P1IFG &= ~GDO0_PIN;                  // After pkt TX, this flag is set, Clear it.
       P1IE |= GDO0_PIN;   //開GDO0中斷            
}*/

const unsigned char ConfigurationCCxxx0_433[47]=
{
 //Data	:Reg:       Name (x = non-default)
0x29, 	//00	  IOCFG2 (x)
0x2E,   //01	  IOCFG1
0x06,		//02    IOCFG0D (x) 

0x47,   //03		FIFOTHR (x)
0xD3,   //04    SYNC1
0x91,   //05    SYNC0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区久久久| 中文字幕不卡在线| 1000精品久久久久久久久| 日韩av网站在线观看| 99在线精品观看| 2017欧美狠狠色| 日韩av一区二| 欧美三级视频在线| 国产精品国产三级国产普通话蜜臀| 日本v片在线高清不卡在线观看| 91视频一区二区三区| 久久久99精品久久| 免费看欧美美女黄的网站| 欧美性三三影院| 亚洲欧美日韩系列| 粉嫩久久99精品久久久久久夜| 在线播放/欧美激情| 夜夜揉揉日日人人青青一国产精品| 粉嫩aⅴ一区二区三区四区| 久久在线免费观看| 美女网站色91| 6080日韩午夜伦伦午夜伦| 一区二区三区欧美日| 91老师国产黑色丝袜在线| 国产精品污污网站在线观看| 国内精品在线播放| 欧美电视剧免费全集观看| 日韩不卡一二三区| 欧美日韩成人高清| 亚洲成av人片| 欧美日本一道本| 亚洲第一精品在线| 欧美日韩综合一区| 亚洲国产精品一区二区久久恐怖片| 91麻豆swag| 亚洲自拍偷拍麻豆| 欧美性极品少妇| 亚洲一二三四区不卡| 99久久精品国产毛片| 国产精品电影一区二区三区| 不卡一区二区中文字幕| 国产精品久久久久精k8| 91网站在线观看视频| 亚洲私人黄色宅男| 91麻豆国产自产在线观看| 亚洲裸体xxx| 在线亚洲一区二区| 亚洲国产精品久久人人爱蜜臀| 一本色道久久综合亚洲91| 亚洲综合999| 欧美精品18+| 男人操女人的视频在线观看欧美| 日韩一区二区麻豆国产| 麻豆高清免费国产一区| 久久亚洲精华国产精华液 | 欧美大胆一级视频| 精品在线一区二区三区| 国产亚洲欧美中文| voyeur盗摄精品| 一区二区三区四区不卡在线 | 99精品视频一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 蜜臀av性久久久久蜜臀aⅴ| 欧美电视剧在线观看完整版| 国产成人免费av在线| 亚洲色图丝袜美腿| 欧美精品亚洲一区二区在线播放| 青青草一区二区三区| 国产日韩成人精品| 99久久免费精品| 亚洲成人黄色小说| 久久综合九色欧美综合狠狠| 91在线播放网址| 香蕉久久一区二区不卡无毒影院| 日韩精品一区二区三区中文精品| 国产精品99久久久久久久女警| 亚洲色图在线看| 欧美一区二区福利在线| 成人午夜视频在线| 亚洲午夜久久久久久久久久久 | av电影在线观看完整版一区二区| 一区二区三区高清| 欧美大片在线观看一区| 成人黄色在线视频| 婷婷久久综合九色国产成人 | 91福利视频久久久久| 奇米影视一区二区三区| 国产精品国产三级国产普通话99 | ww亚洲ww在线观看国产| 97精品国产97久久久久久久久久久久| 亚洲一区在线观看免费| 久久综合一区二区| 日本精品裸体写真集在线观看| 蜜桃av一区二区三区| 国产精品第13页| 欧美一区二区福利在线| 成+人+亚洲+综合天堂| 免费黄网站欧美| 亚洲欧美aⅴ...| 蜜臀av国产精品久久久久| 欧美日高清视频| 亚洲bt欧美bt精品| 亚洲黄色录像片| 91麻豆精品国产自产在线 | 久久看人人爽人人| 欧日韩精品视频| 国产·精品毛片| 奇米色777欧美一区二区| 日韩一卡二卡三卡| 欧美日韩国产片| 欧美色倩网站大全免费| 色94色欧美sute亚洲13| 波多野结衣精品在线| 国产精品911| 国产精品一二三四区| 国内精品不卡在线| 九九九久久久精品| 久久成人免费网站| 美女高潮久久久| 久久精品二区亚洲w码| 蜜臀国产一区二区三区在线播放| 天天操天天干天天综合网| 亚洲3atv精品一区二区三区| 亚洲一级在线观看| 亚洲成人av一区| 五月天婷婷综合| 丝袜美腿成人在线| 日韩精品乱码av一区二区| 日韩av网站免费在线| 麻豆精品一区二区综合av| 美国三级日本三级久久99| 免费高清成人在线| 国产在线精品一区二区不卡了 | 精品福利视频一区二区三区| 欧美成人video| 欧美第一区第二区| 久久久久久久久久电影| 国产日本欧美一区二区| 中文字幕的久久| 亚洲色图19p| 亚洲国产aⅴ成人精品无吗| 午夜亚洲福利老司机| 日本va欧美va欧美va精品| 麻豆精品一区二区三区| 国产九色精品成人porny| 国产69精品久久久久777| 99精品黄色片免费大全| 欧美在线影院一区二区| 欧美日韩成人一区二区| 日韩片之四级片| 国产女主播视频一区二区| 中文字幕亚洲欧美在线不卡| 亚洲综合色视频| 免费在线欧美视频| 国产真实乱对白精彩久久| proumb性欧美在线观看| 欧洲av一区二区嗯嗯嗯啊| 日韩一级片在线播放| 久久久99免费| 亚洲人亚洲人成电影网站色| 亚洲国产一区二区三区| 看电视剧不卡顿的网站| 国v精品久久久网| 一本到不卡精品视频在线观看| 欧美三级欧美一级| 精品国内二区三区| 国产精品久久久久aaaa樱花| 亚洲第一电影网| 精品一区二区三区免费观看| av在线不卡网| 欧美色图免费看| 久久精品日韩一区二区三区| 亚洲欧美日韩中文播放| 男男gaygay亚洲| av欧美精品.com| 91精品婷婷国产综合久久| 国产欧美日韩亚州综合| 夜夜嗨av一区二区三区四季av| 久久精品国产77777蜜臀| av激情综合网| 日韩欧美电影一区| 成人免费在线观看入口| 免费av成人在线| 9人人澡人人爽人人精品| 欧美一区二区二区| ●精品国产综合乱码久久久久| 日韩电影在线一区二区| 成人动漫精品一区二区| 欧美精品久久天天躁| 亚洲国产精品成人久久综合一区| 亚洲福利一区二区| 国产成a人无v码亚洲福利| 欧美日韩成人综合| 国产精品久久夜| 久久精品国产免费看久久精品| 91香蕉视频在线| 久久久亚洲国产美女国产盗摄| 亚洲五月六月丁香激情| 大桥未久av一区二区三区中文| 欧美麻豆精品久久久久久|