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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于nRF905的低功耗溫濕度無線測量系統(tǒng)

          基于nRF905的低功耗溫濕度無線測量系統(tǒng)

          作者: 時間:2010-03-24 來源:網(wǎng)絡 收藏

          3.2 無線收發(fā)
          對于無線發(fā)送而言,在測量發(fā)送數(shù)據(jù)以后,應考慮到數(shù)據(jù)傳輸?shù)目煽啃?,因此加上校驗功能,并且為防止偶然的發(fā)送失敗帶來的不良后果,采取定時等待,超時后重發(fā),收到接收主機命令后才進入休眠的模式。具體流程圖如圖8所示。


          對于接收端而言,所完成的任務是時刻檢測無線接收模塊,對于收到的數(shù)據(jù)進行校驗,如果正確收到數(shù)據(jù)則無線發(fā)送相關指令告知接收端,使其能夠盡快進入休眠省電模式,并且通過上位機顯示;而接收到錯誤數(shù)據(jù)后不做任何處理,等待接收端再次發(fā)送數(shù)據(jù)。
          相應的初始化程序如下:
          unsigned char RFConf[11]=
          {
          Ox00, //配置命令//
          0x6C, //CH_NO,配置頻段在433.2 MHz
          OxOC,//輸出功率為10 dB,不重發(fā),節(jié)電為正常模式
          0x44, //地址寬度設置,為4 B
          0x02,0x02, //接收發(fā)送有效數(shù)據(jù)長度為3 B
          0xE0,0xE0,0xE0,0xE0, //接收地址
          0x1E, //CRC充許,16位CRC校驗,外部時鐘信號使能,16 MHz晶振
          };
          for(unsigned char i=0;i11;i++)
          SPDR=RFConf[i];
          //SPDR是Atmegal-16L的SPI數(shù)據(jù)寄存器,相應配置見數(shù)據(jù)手冊;
          而實際操作過程中通過對發(fā)送與接收實現(xiàn)是通過以下命令實現(xiàn):
          寫發(fā)射數(shù)據(jù)命令:20H;
          讀發(fā)射數(shù)據(jù)命令:21H;
          寫發(fā)射地址命令:22H;
          讀發(fā)射地址命令:23H;
          讀接收數(shù)據(jù)命令:24H。

          4 結 語
          該系統(tǒng)采用AVR系列單片機ATmega16L作為控制芯片,芯片作為無線收發(fā)模塊,設計并實現(xiàn)了基于數(shù)字傳感器SHT11的無線測量系統(tǒng),這些產(chǎn)品使得該系統(tǒng)耗電量小,并且又特別適合將該系統(tǒng)小型化,智能化,儀表化。無線發(fā)射功能又代替了人工抄表的繁瑣,使得本系統(tǒng)有著廣泛的應用前景。


          上一頁 1 2 3 4 下一頁

          關鍵詞: nRF 905 低功耗 溫濕度

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();