<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          MSP430+nRF24L01程序

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          **************************************************
          來源:網(wǎng)上
          改寫:bluefeel
          時(shí)間:10-03-13
          單位:桂林理工大學(xué)
          /**************************************************/
          #include
          #include
          #define uchar unsigned char
          /***************************************************/
          #define TX_ADR_WIDTH 5 // 5字節(jié)寬度的發(fā)送/接收地址
          #define TX_PLOAD_WIDTH 4 // 數(shù)據(jù)通道有效數(shù)據(jù)寬度
          #define LED P2
          uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 定義一個(gè)靜態(tài)發(fā)送地址
          uchar RX_BUF[TX_PLOAD_WIDTH];
          uchar TX_BUF[TX_PLOAD_WIDTH];
          ucharflag;
          uchar DATA = 0x01;
          uchar bdatasta;
          sbit RX_DR = sta^6;
          sbit TX_DS = sta^5;
          sbit MAX_RT =sta^4;
          /**************************************************/
          /**************************************************
          函數(shù): init_io()
          描述:
          初始化IO
          /**************************************************/
          void init_io(void)
          {
          CE = 0; // 待機(jī)
          CSN = 1; // SPI禁止
          SCK = 0; // SPI時(shí)鐘置低
          IRQ = 1; // 中斷復(fù)位
          LED = 0xff; // 關(guān)閉指示燈
          }
          /**************************************************/
          /**************************************************
          函數(shù):delay_ms()
          描述:
          延遲x毫秒
          /**************************************************/
          void delay_ms(uchar x)
          {
          uchar i, j;
          i = 0;
          for(i=0; i {
          j = 250;
          while(--j);
          j = 250;
          while(--j);
          }
          }
          /**************************************************/
          /**************************************************
          函數(shù):SPI_RW()
          描述:
          根據(jù)SPI協(xié)議,寫一字節(jié)數(shù)據(jù)到nRF24L01,同時(shí)從nRF24L01
          讀出一字節(jié)
          /**************************************************/
          uchar SPI_RW(uchar byte)
          {
          uchar i;
          for(i=0; i<8; i++) // 循環(huán)8次
          {
          MOSI = (byte & 0x80); // byte最高位輸出到MOSI
          byte <<= 1; // 低一位移位到最高位
          SCK = 1; // 拉高SCK,nRF24L01從MOSI讀入1位數(shù)據(jù),同時(shí)從MISO輸出1位數(shù)據(jù)
          byte |= MISO; // 讀MISO到byte最低位
          SCK = 0; // SCK置低
          }
          return(byte); // 返回讀出的一字節(jié)
          }
          /**************************************************/
          /**************************************************
          函數(shù):SPI_RW_Reg()
          描述:
          寫數(shù)據(jù)value到reg寄存器
          /**************************************************/
          uchar SPI_RW_Reg(uchar reg, uchar value)
          {
          uchar status;
          CSN = 0; // CSN置低,開始傳輸數(shù)據(jù)
          status = SPI_RW(reg); // 選擇寄存器,同時(shí)返回狀態(tài)字
          SPI_RW(value); // 然后寫數(shù)據(jù)到該寄存器
          CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸
          return(status); // 返回狀態(tài)寄存器
          }
          /**************************************************/
          /**************************************************
          函數(shù):SPI_Read()
          描述:
          從reg寄存器讀一字節(jié)
          /**************************************************/
          uchar SPI_Read(uchar reg)
          {
          uchar reg_val;
          CSN = 0; // CSN置低,開始傳輸數(shù)據(jù)
          SPI_RW(reg); // 選擇寄存器
          reg_val = SPI_RW(0); // 然后從該寄存器讀數(shù)據(jù)
          CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸
          return(reg_val); // 返回寄存器數(shù)據(jù)
          }
          /**************************************************/
          /**************************************************
          函數(shù):SPI_Read_Buf()
          描述:
          從reg寄存器讀出bytes個(gè)字節(jié),通常用來讀取接收通道
          數(shù)據(jù)或接收/發(fā)送地址
          /**************************************************/
          uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)
          {
          uchar status, i;
          CSN = 0; // CSN置低,開始傳輸數(shù)據(jù)
          status = SPI_RW(reg); // 選擇寄存器,同時(shí)返回狀態(tài)字
          for(i=0; i pBuf[i] = SPI_RW(0); // 逐個(gè)字節(jié)從nRF24L01讀出
          CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸
          return(status); // 返回狀態(tài)寄存器
          }
          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: MSP430nRF24L0

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();