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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 無線傳感器網(wǎng)絡(luò)中的nesC嵌入式編程語言

          無線傳感器網(wǎng)絡(luò)中的nesC嵌入式編程語言

          作者: 時(shí)間:2010-07-02 來源:網(wǎng)絡(luò) 收藏


          為了避免與pc機(jī)自身系統(tǒng)的沖突,可將安裝包tinyos-1.1.0.exe(軟件版本以實(shí)際仿真的版本為主,現(xiàn)升級(jí)到TinyOS-2.1)安裝到指定路徑(本仿真軟件環(huán)境是安裝在D:/盤下)。這個(gè)安裝包已經(jīng)包含了JAVA、Cygwin,TinyOS相關(guān)軟件和相關(guān)的編譯器,同時(shí)提供像mica、micaz等硬件驅(qū)動(dòng),針對不同硬件編譯生成可執(zhí)行文件下載。

          (2)執(zhí)行步驟

          ①打開生成的cygwin圖標(biāo)(Linux建立在Windows下的軟件平臺(tái)),在光標(biāo)下進(jìn)入仿真環(huán)境路徑(安裝在D盤下):

          cygdrive/d/tinyos/cygwin/opt/…/tinyos/sim―尋找軟件仿真路徑。

          ②輸入make,之后將生成一個(gè)執(zhí)行腳本文件Tinyviz.jar。

          ③進(jìn)入應(yīng)用程序路徑。在相同的路徑下進(jìn)入blink目錄下。

          ④輸入make pc―在PC機(jī)上對Blink程序進(jìn)行編譯、仿真,若有相關(guān)硬件,則輸入硬件名稱,如make micaz,在blink文件下會(huì)生成一個(gè)pc文件夾,里面包含了在pc機(jī)上blink主程序main.exe。

          ⑤打開blink/pc路徑,輸入:tinyviz - run main.exe10(10為節(jié)點(diǎn)的仿真?zhèn)€數(shù))。

          利用可視化Tinyviz將調(diào)用接口使Blink程序執(zhí)行的仿真結(jié)果通過圖形顯示出來,仿真結(jié)果如圖2所示。最上面一層顯示了整個(gè)程序仿真時(shí)間長度和仿真終止按鍵。圖中每個(gè)節(jié)點(diǎn)的位置可以任意布置,仿真間隔時(shí)間也能自行設(shè)定。Blink程序的主要功能是每經(jīng)過1 s的時(shí)間間隔,每個(gè)仿真節(jié)點(diǎn)上紅燈會(huì)閃爍1次,如圖中節(jié)點(diǎn)0紅燈是滅的,節(jié)點(diǎn)6紅燈是亮的。該圖很清晰地將NesC編寫的應(yīng)用程序功能仿真出來,對具體代碼的硬件化執(zhí)行提供了實(shí)現(xiàn)方法。


          4 總 結(jié)

          通過對Blink程序的詳細(xì)分析可以看出,用編寫的程序能很好地將組件化/模塊化的思想應(yīng)用到程序中,對于其他應(yīng)用程序編寫也能調(diào)用各組件接口,代碼量少,能快速建立程序中模塊間的鏈接,減少執(zhí)行任務(wù)和事件驅(qū)動(dòng)時(shí)線程間不必要的資源消耗,其具體功能可通過仿真軟件反映出來。掌握的語法,可以大大地降低實(shí)現(xiàn)操作系統(tǒng)和上層的應(yīng)用程序的復(fù)雜度,為深入學(xué)習(xí)與研究TinyOS系統(tǒng)以及其上應(yīng)用程序的設(shè)計(jì)提供了參考方法。
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(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); })();