2014-06-19 38 views
0

我最近得到了一個BBB並一直在進行試驗,但發現有時我的程序仍然在後臺運行,所以有些數字輸出仍然設置爲高。我決定嘗試通過編寫一種重置程序來解決這個問題,該程序將迭代並將所有引腳設置爲b.LOW。我的代碼如下:BeagleBone Black - for循環中的b.pinMode

var b = require("bonescript"); 

var port = "P8_0"; 

for(var i = 0; i < 46; i++){ 
    var j = i + 1; 
    port = port.substring(0, 3) + j; 
    b.pinMode(port, b.OUTPUT); 
    b.digitalWrite(port, b.LOW); 
} 

這裏是它變得有趣的地方。我收到以下錯誤:

/usr/lib/node_modules/bonescript/index.js:195 
    throw('Invalid pin object for pinMode: ' + pin); 
              ^
Invalid pin object for pinMode: [object Object] 

基於我在設置引腳模式,那就是這裏的問題是,pinModefor循環內的唯一的方面已經看到了,那CLOUD9不喜歡那樣。

回答

0

好的,所以當我輸入問題時,我的腦波打了我。代碼不工作的原因是因爲你不能從引腳1開始引腳1和引腳2是保留的,因爲2是接地的,1是其他的。因此,如果我們將代碼更改爲:

var b = require("bonescript"); 

var port = "P8_0"; 

for(var i = 2; i < 46; i++){ 
    var j = i + 1; 
    port = port.substring(0, 3) + j; 
    b.pinMode(port, b.OUTPUT); 
    b.digitalWrite(port, b.LOW); 
} 

工作完全正常。