亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲欧美日韩国产中文在线| 久久五月婷婷丁香社区| 国产精品综合二区| 亚洲线精品一区二区三区八戒| 精品第一国产综合精品aⅴ| 一本色道久久综合亚洲精品按摩| 久久er99精品| 天天综合网 天天综合色| 亚洲天天做日日做天天谢日日欢| 久久久久久久久久久电影| 制服丝袜中文字幕一区| 欧美午夜寂寞影院| 91网站最新地址| 91一区二区三区在线观看| 国产白丝网站精品污在线入口| 美女脱光内衣内裤视频久久影院| 亚洲欧美在线另类| 国产精品毛片久久久久久久| 欧美国产综合一区二区| 2017欧美狠狠色| 国产亚洲精品中文字幕| 久久久蜜臀国产一区二区| 欧美亚洲免费在线一区| 欧美在线一二三| 在线免费观看一区| 欧美日韩精品电影| 91精品国产福利| 欧美一卡二卡在线| 精品av久久707| 久久香蕉国产线看观看99| 精品国产髙清在线看国产毛片| 久久久久久麻豆| 亚洲人成伊人成综合网小说| 亚洲综合一区在线| 秋霞午夜av一区二区三区| 激情图片小说一区| 欧美日韩成人综合天天影院 | 国产精品欧美精品| 亚洲国产日日夜夜| 久久不见久久见中文字幕免费| 国产福利精品一区| 欧美性受极品xxxx喷水| 精品99999| 午夜影院在线观看欧美| 国产成人精品在线看| 色成年激情久久综合| 欧美大胆人体bbbb| 亚洲精品欧美综合四区| 国产精品一色哟哟哟| 欧美日韩一区二区在线观看视频| 91精品国产美女浴室洗澡无遮挡| 国产精品成人免费| 国产成人丝袜美腿| 亚洲精品一区二区在线观看| 亚洲成av人片www| 在线免费亚洲电影| 国产精品看片你懂得| 国产综合久久久久影院| 欧美美女一区二区三区| 一区二区三区在线视频观看58| 国产成a人亚洲| 国产丝袜欧美中文另类| 激情久久五月天| 欧美电影在线免费观看| 亚洲gay无套男同| 欧美剧情片在线观看| 午夜免费久久看| 欧美日本国产视频| 亚洲永久精品国产| 欧美挠脚心视频网站| 无码av免费一区二区三区试看| 91丨九色丨蝌蚪富婆spa| 亚洲美女免费视频| 欧美日韩一本到| 午夜精品久久久久久久蜜桃app| 欧美在线免费观看视频| 亚洲图片欧美一区| 欧美va在线播放| 国产盗摄精品一区二区三区在线| 欧美极品少妇xxxxⅹ高跟鞋| 91麻豆蜜桃一区二区三区| 国产福利91精品一区二区三区| 精品少妇一区二区三区| 丁香激情综合五月| 亚洲综合一区二区| 日韩精品影音先锋| 成人av电影免费在线播放| 一区二区三区鲁丝不卡| 91精品国产综合久久精品麻豆 | 欧美亚洲动漫另类| 激情综合色播五月| 日韩美女啊v在线免费观看| 丝袜国产日韩另类美女| 国产亲近乱来精品视频| 欧美性大战久久久久久久蜜臀| 国产毛片精品一区| 日韩**一区毛片| 国产日韩欧美麻豆| 日韩欧美电影一二三| 91尤物视频在线观看| 捆绑变态av一区二区三区 | 国产精品久久国产精麻豆99网站| 在线观看日韩av先锋影音电影院| 成人丝袜视频网| 韩国欧美国产1区| 精品无人区卡一卡二卡三乱码免费卡 | 精品免费99久久| 欧美精品vⅰdeose4hd| 94-欧美-setu| 一本色道综合亚洲| 日本道在线观看一区二区| 99re这里只有精品首页| 欧美性猛交xxxx乱大交退制版 | 亚洲三级久久久| 亚洲精品日韩一| 亚洲va欧美va天堂v国产综合| 亚洲精品成人在线| 午夜av一区二区| 日韩精品一二区| 日韩精品欧美成人高清一区二区| 亚洲一卡二卡三卡四卡五卡| 首页国产丝袜综合| 免费欧美日韩国产三级电影| 美女视频网站黄色亚洲| 国产91精品露脸国语对白| 色婷婷综合五月| 欧美性猛交xxxx乱大交退制版| 欧美精品在线视频| 亚洲精品一线二线三线| 国产精品福利av| 午夜日韩在线电影| 精品一区二区三区日韩| 粉嫩av亚洲一区二区图片| 91蜜桃婷婷狠狠久久综合9色| 91在线观看美女| 91精品国产欧美一区二区18 | 久久97超碰国产精品超碰| a4yy欧美一区二区三区| 欧美mv和日韩mv的网站| 亚洲成人在线观看视频| 91在线一区二区| 国产精品网站在线观看| 免费在线观看成人| av资源网一区| 精品少妇一区二区| 一区二区成人在线观看| 九九在线精品视频| 欧美自拍偷拍午夜视频| 日本一区二区久久| 免费日韩伦理电影| 日本韩国精品在线| 国产日本亚洲高清| 蜜桃91丨九色丨蝌蚪91桃色| 91性感美女视频| 久久午夜羞羞影院免费观看| 成人av资源站| 日本一区二区在线不卡| 日本成人中文字幕| 欧美精品在线观看播放| 亚洲视频在线观看三级| 国产精品亚洲午夜一区二区三区 | 久久精品人人做| 美脚の诱脚舐め脚责91| 日韩午夜在线观看视频| 国产精品免费久久久久| 精品午夜久久福利影院| 欧美久久久久久久久| 一区二区三区免费| 在线视频你懂得一区| 一区二区三区免费| 欧美性色综合网| 亚洲成人av免费| 欧美久久久久中文字幕| 日本大胆欧美人术艺术动态| 欧美精品久久99| 美女尤物国产一区| 欧美刺激午夜性久久久久久久| 美女脱光内衣内裤视频久久影院| 欧美一区二区三区免费| 麻豆一区二区三| 久久久久久久综合色一本| 成人免费高清视频| 亚洲精品水蜜桃| 56国语精品自产拍在线观看| 日本vs亚洲vs韩国一区三区| 亚洲精品一区二区在线观看| 精品在线一区二区| 国产精品福利一区| 欧美日韩不卡一区二区| 国产乱子伦视频一区二区三区 | 一区二区三区中文字幕电影 | 日韩亚洲欧美一区二区三区| 国产又黄又大久久| 亚洲精品精品亚洲| 日韩欧美在线综合网| 不卡一区二区在线| 麻豆精品视频在线观看视频| 日本一二三不卡| 欧美变态凌虐bdsm| 91官网在线观看|