版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.2 培訓(xùn)目標(biāo) 理解節(jié)點(diǎn)的LED控制,嘗試通過(guò)創(chuàng)建例題程序,使節(jié)點(diǎn)的LED直接運(yùn)行。 理解TinyOS提供的LedsC組件結(jié)構(gòu)。 理解Blink例題中使用的多個(gè)下層組件。第1頁(yè)/共17頁(yè)5.3 基本知識(shí) 節(jié)點(diǎn)LED的一般用途 LED主要用于確認(rèn)感應(yīng)器節(jié)點(diǎn)的狀態(tài)及是否執(zhí)行特定操作 即使不用其他的調(diào)試方法,也可以通過(guò)LED的狀態(tài)輕松確認(rèn)節(jié)點(diǎn)的運(yùn)行狀態(tài) LedsC 組件 LedsC是一個(gè)組件,用來(lái)控制LED. LedsC 組件通過(guò)使用Leds的,為了控制節(jié)點(diǎn)中的三種LED,提供了如下的Command函數(shù).第2頁(yè)/共17頁(yè)5.3 基本知識(shí) LedsLeds 組組件中提供的函件中提供的函數(shù)數(shù)整體LED
2、控制Leds.getLeds.get()()提取提取當(dāng)當(dāng)前前LedLed的的狀態(tài)狀態(tài)。(bit0=led0, bit1=led1, bit2=led2)(bit0=led0, bit1=led1, bit2=led2)Leds.setLeds.set(uint8_t) (uint8_t) 將將LedLed的的狀態(tài)設(shè)狀態(tài)設(shè)定定為輸為輸入的入的值值。 (bit0=led0, bit1=led1, (bit0=led0, bit1=led1, bit2=led2)bit2=led2)紅紅色色 LED LEDLeds.led0On() Leds.led0On() 打打開(kāi)開(kāi)紅紅色色 LEDLED。Led
3、s.led0Off() Leds.led0Off() 關(guān)閉關(guān)閉紅紅色色 LEDLED。Leds.led0Toggle() Leds.led0Toggle() 將將紅紅色色 LEDLED變變更更為與當(dāng)為與當(dāng)前前狀態(tài)狀態(tài)相反的相反的狀態(tài)狀態(tài)。( (通常用于通常用于L LEDED閃爍時(shí)閃爍時(shí)) ) 綠綠色色 LED LEDLeds.led1On() Leds.led1On() 打打開(kāi)開(kāi)綠綠色色 LED LED。Leds.led1Off() Leds.led1Off() 關(guān)閉關(guān)閉綠綠色色 LEDLED。Leds.led1Toggle() Leds.led1Toggle() 將將綠綠色色 LEDLED變
4、變更更為與當(dāng)為與當(dāng)前前狀態(tài)狀態(tài)相反的相反的狀態(tài)狀態(tài)。( (通常用于通常用于L LEDED閃爍時(shí)閃爍時(shí)) )黃黃色色 LED LEDLeds.led2On() Leds.led2On() 打打開(kāi)開(kāi)黃黃色色 LED LED。Leds.led2Off() Leds.led2Off() 關(guān)閉關(guān)閉黃黃色色 LED LED。Leds.led2Toggle() Leds.led2Toggle() 將將Y Y黃黃色色 LED LED變變更更為與當(dāng)為與當(dāng)前前狀態(tài)狀態(tài)相反的相反的狀態(tài)狀態(tài)。( (通常用于通常用于LEDLED閃爍時(shí)閃爍時(shí)) )第3頁(yè)/共17頁(yè)5.4.1 Blink 例題的構(gòu)成 Blink 程序文件
5、Blink.nc Blink 例程的配置文件. BlinkM.nc Blink 例程的模塊文件 Blink 文件的位置cygwin安裝目錄/opt/tinyos-2.x/contrib/cc2431/Blink/ 請(qǐng)參閱 Bink.nc 和 BlinkM.nc 文件夾中的文件。第4頁(yè)/共17頁(yè)5.4.1 Blink.nc Blink.nc Blink 例題中的各組件配置關(guān)系第5頁(yè)/共17頁(yè)5.4.1 Blink.nc4:components 后是使用的模塊,有MainC、BlinkM以及用于控制LED的組件LedsC及提供延遲功能的BusyWaitMicroC5:在TinyOS2.X中通過(guò)Bo
6、ot接口與MainC模塊連接。MainC組件及TinyOS的相關(guān)設(shè)點(diǎn)結(jié)束后,通過(guò)Boot的Booted事件開(kāi)始程序6: 連接模塊BlinkM的接口Leds和下層組件LedsC的接口Leds7: 為了提供以u(píng)s為單位延遲時(shí)間的BusyWait接口,連接BusyWaitMicroC組件1: configuration Blink 2: 3: implementation 4: components MainC, BlinkM, LedsC, BusyWaitMicroC; 5: BlinkM.Boot - MainC;6: BlinkM.Leds - LedsC;7: BlinkM.BusyWai
7、t -BusyWaitMicroC;8: 第6頁(yè)/共17頁(yè)5.4.2 BlinkM.nc1: module BlinkM 2: uses 3: interface Boot;4: interface Leds;5: interface BusyWait;6: 7: 8: implementation 9: task void led_task(); 10: event void Boot.booted() 11: post led_task(); 12: 26:Module文件中,通過(guò)uses聲明的接口,有通知程序開(kāi)始的Boot接口,控制LED的Leds接口,提供延遲時(shí)間的BusyWait接口
8、。BusyWait的內(nèi)的內(nèi)容中,TMicro意味著時(shí)間單位以u(píng)s為單位,設(shè)定的時(shí)間變量類型為uint16_t。9:為了聲明想要通過(guò)Task運(yùn)行的特征函數(shù),需在函數(shù)前添加關(guān)鍵詞task,第9行中的led_task在第13行被定義。1012 :如果TinyOS初始化完畢,根據(jù)MainC 組件,Boot.booted()函數(shù)被調(diào)用。在該函數(shù)中,為了調(diào)用第9行的Task函數(shù),而使用了關(guān)鍵詞post。如果booted函數(shù)結(jié)束,依靠調(diào)度程序,led_task() Task函數(shù)被調(diào)用。第7頁(yè)/共17頁(yè)5.4.2 BlinkM.nc13: task void led_task()14: int i;15: f
9、or(i=0; i程序-Texas Instruments-SmartRF Flash Programmer 1.5.0- SmartRF Flash Programmer)。使要下載的HBE-Ubi-CC2431節(jié)點(diǎn)的USB MCU開(kāi)關(guān)移向MCU后。第11頁(yè)/共17頁(yè)5.5 Blink下載 Flash Programmer啟動(dòng)運(yùn)行 如果已與PC連接好,則在Flash Programmer運(yùn)行后,畫面將如下圖所示。第12頁(yè)/共17頁(yè)5.5 Blink下載 Flash Programmer的初始畫面上將如上圖所示以藍(lán)色行顯示哪個(gè)節(jié)點(diǎn)與PC連接?,F(xiàn)在,在“Flash”路徑輸入行中單擊 按鈕,選擇剛才編譯的例題的app.hex文件。第13頁(yè)/共17頁(yè)5.5 Blink下載 如果設(shè)定了要下載的hex文件,接下來(lái)單擊Flash Programmer下端的“Perform action”按鈕。如果單擊該按鈕,所選的hex文件會(huì)通過(guò)C8051F320被下載到cc2431芯片中。第14頁(yè)/共17頁(yè)5.5 Blink下載 zigbex 及 ZigbeX2 節(jié)點(diǎn)) ZigbeX及ZigbeX2 通過(guò)AVR Studio的下載方法12345第15頁(yè)/共17頁(yè)5.6 Blink 練習(xí) 結(jié)果 結(jié)果 如果完成了按上述順序進(jìn)行的實(shí)習(xí),將會(huì)看到韓伯節(jié)點(diǎn)的Yellow LED被
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《體育舞蹈II》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年云南建筑安全員考試題庫(kù)
- 廣州中醫(yī)藥大學(xué)《化工原理2》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州醫(yī)科大學(xué)《生物考古學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州幼兒師范高等專科學(xué)?!盾浖到y(tǒng)分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江西省建筑安全員-B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- 2025年遼寧建筑安全員考試題庫(kù)
- 緒論現(xiàn)代西方哲學(xué)思潮專題教學(xué)課件
- 河北省保定市競(jìng)秀區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期11月期中數(shù)學(xué)試題(含答案)
- 2024年江西科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及完整答案
- 《組織與胚胎學(xué)》課程期末考試復(fù)習(xí)題庫(kù)及答案
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 化學(xué)試卷(含答案)
- 部編版三年級(jí)上冊(cè)道德與法治期末測(cè)試卷帶答案(鞏固)
- 教師個(gè)人工作業(yè)績(jī)總結(jié)范文
- 《中華人民共和國(guó)政府采購(gòu)法》專題培訓(xùn)
- 鄭州大學(xué)《高等代數(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 對(duì)銀行領(lǐng)導(dǎo)班子的評(píng)價(jià)意見(jiàn)和建議范文(3篇)
- 如何保護(hù)個(gè)人手機(jī)數(shù)據(jù)的安全
- 2024醫(yī)療設(shè)備維修與保養(yǎng)合同
- 第6課 戰(zhàn)國(guó)時(shí)期的社會(huì)變革(說(shuō)課稿)2024-2025學(xué)年七年級(jí)歷史上冊(cè)同步高效課堂(統(tǒng)編版2024)
- 汽車內(nèi)飾件及材料氣味評(píng)價(jià)標(biāo)準(zhǔn)解析
評(píng)論
0/150
提交評(píng)論