[英]BeagleBone Black - b.pinMode in for loop
我最近獲得了BBB,並且一直在進行實驗,但是發現有時我的程序仍在后台運行,因此某些數字輸出仍然設置為高電平。 我決定嘗試通過編寫一種復位程序來解決此問題,該程序將循環訪問並將所有引腳設置為b.LOW
。 我的代碼如下:
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]
根據我在設置引腳模式方面所看到的情況,這里唯一的問題是pinMode
在for
循環內,而Cloud9不喜歡這樣。
好吧,當我輸入問題時,我腦子里打了一個腦波。 代碼不起作用的原因是因為您不能從引腳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);
}
完全正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.