欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

BeagleboneBlack中如何實(shí)現(xiàn)閃爍板載LED

這篇文章主要介紹Beaglebone Black中如何實(shí)現(xiàn)閃爍板載LED,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)雙臺(tái)子,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

閃爍板載LED

當(dāng)設(shè)置完你的Beaglebone Black的時(shí)候,可能早就非常期待你的第一個(gè)項(xiàng)目了。下面就來(lái)滿足大家的愿望,當(dāng)然,這個(gè)項(xiàng)目可不是驚天動(dòng)地的大項(xiàng)目,但萬(wàn)事總是有個(gè)開始的。這個(gè)項(xiàng)目不需要額外的電子器件,這可以讓你的精力集中在編程這方面來(lái)。這也可以確保你的Beaglebone Black板子所有的設(shè)置都是正確的。

閑話少敘,我們的這個(gè)項(xiàng)目是編寫代碼控制Beaglebone Black的板載LED。如果你之前有過(guò)編程經(jīng)驗(yàn),那么可以把這個(gè)項(xiàng)目當(dāng)做Beaglebone Black的“Hello World”程序。我們將會(huì)從零開始完成整個(gè)程序,這樣可以使你在Cloud9 IDE中編寫B(tài)oneScript代碼有一個(gè)初步的感覺。

下面的就是閃爍板載LED的代碼:

  • var b = require('bonescript');

  • var led = "USR3";

  •  

  • b.pinMode(led, b.OUTPUT);

  •  

  • var state = b.LOW;

  •  

  • b.digitalWrite(led, state);

  •  

  • setInterval(toggle, 1000);

  •  

  • function toggle() {

  •     if(state == b.LOW) state = b.HIGH;

  •     else state = b.LOW;

  •     b.digitalWrite(led, state)

  • }

當(dāng)使用BoneScript編寫代碼的時(shí)候,我們需要將代碼指向BoneScript庫(kù)以訪問(wèn)GPIO端口和Beaglebone Black的其他功能。所以,我們的第一行代碼就創(chuàng)建一個(gè)變量(b)來(lái)將兩個(gè)括號(hào)之間的庫(kù)引入我們的代碼:

  • var b = require('bonescript');

代碼的下一個(gè)邏輯上的代碼段是創(chuàng)建引用板載LED USR3的一個(gè)變量:

  • var led = "USR3";

在上面的例子中我們將這個(gè)變量稱為led,它對(duì)應(yīng)于板載LED的USR3。

Beaglebone Black上面的GPIO數(shù)字端口可以被設(shè)置為輸入或者輸出端口。所以,在我們的代碼中需要告訴Beaglebone Black我們想要板載LED作為輸出。為了完成這個(gè)任務(wù),我們需要使用名為pinMode的函數(shù)并將我們期望的端口作為他的參數(shù);在這個(gè)示例中,我們使用變量led并使用變量b.OUTPUT將它設(shè)置為輸出:

  • b.pinMode(led, b.OUTPUT);

在這個(gè)代碼中,我們創(chuàng)建了一個(gè)集合了LED狀態(tài)的循環(huán)。在這個(gè)循環(huán)中,將LED的狀態(tài)在開和關(guān)之間切換。要完成它,我們還需要設(shè)置一個(gè)額外的變量state,它用來(lái)保存LED此時(shí)的狀態(tài);在最開始我們應(yīng)該給它一個(gè)初始值,這里是b.LOW,即對(duì)應(yīng)于“關(guān)”:

  • var state = b.LOW;

現(xiàn)在我們就可以設(shè)置LED的狀態(tài)了,將他設(shè)置為state。做這個(gè)需要使用digitalWrite()函數(shù)并將期望操作的GPIO端口和狀態(tài)(開和關(guān))作為參數(shù):

  • b.digitalWrite(led, state);

LED的初始狀態(tài)設(shè)置完畢后,我們需要觸發(fā)LED點(diǎn)亮和熄滅,即改變state變量的狀態(tài)。我們使用setInterval()函數(shù)將這個(gè)改變的時(shí)間間隔設(shè)置為1000毫秒即1秒。在間隔時(shí)間到達(dá)的時(shí)候,我們調(diào)用toggle()函數(shù):

  • setInterval(toggle, 1000);

現(xiàn)在我們需要?jiǎng)?chuàng)建一個(gè)名為toggle的函數(shù)供setInterval()函數(shù)調(diào)用,這個(gè)函數(shù)會(huì)每1000毫秒調(diào)用一次。這個(gè)函數(shù)實(shí)現(xiàn)的功能就是切換LED的狀態(tài),即在HIGH和LOW之間切換。由于只有這兩個(gè)狀態(tài),所以最簡(jiǎn)單的方式就是if…else判斷,它接受一個(gè)條件語(yǔ)句,根據(jù)條件語(yǔ)句是TRUE或者FALSE執(zhí)行不同的語(yǔ)句:

  • if (條件語(yǔ)句){

  •          當(dāng)條件語(yǔ)句為TRUE的時(shí)候執(zhí)行

  • }else{

  •          當(dāng)條件語(yǔ)句不為TRUE時(shí)候執(zhí)行

  • }

在我們的函數(shù)中,我們應(yīng)該檢查state變量的值是否等于LOW。如果是,我們將state設(shè)置為HIGH;如果不是,則執(zhí)行else后的語(yǔ)句,將state設(shè)置為L(zhǎng)OW。在設(shè)置完成后,使用digitalWrite()函數(shù)將這個(gè)狀態(tài)應(yīng)用于LED:

  • function toggle() {

  •     if(state == b.LOW) state = b.HIGH;

  •     else state = b.LOW;

  •     b.digitalWrite(led, state)

  • }

執(zhí)行上面的代碼,我們就可以看到LED USR3以1000豪秒的間隔閃爍。如果你想要改變閃爍的頻率,可以修改這條語(yǔ)句:

  • setInterval(toggle, 1000);

實(shí)際嘗試一下是最好的。

以上是“Beaglebone Black中如何實(shí)現(xiàn)閃爍板載LED”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞名稱:BeagleboneBlack中如何實(shí)現(xiàn)閃爍板載LED
網(wǎng)站網(wǎng)址:http://chinadenli.net/article38/pigisp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作外貿(mào)建站網(wǎng)站排名品牌網(wǎng)站設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)