簡體   English   中英

Beaglebone Black revC

[英]Beaglebone Black revC

我正在通過串行端口(ttyO2)連接BBB和一組arduino。 我有一個數組要從BBB發送到一組arduinos。 我需要讓BBB發送請求並等待來自arduino之一的答復,但是如果間隔內沒有arduino答復,則BBB必須在數組中發送以下值。 我已經為他們的工作准備好了聯系和arduinos。 問題在於,BBB將監聽端口並同時完成代碼的執行。 如果收到數據=>處理它,我需要讓它監聽特定的時間; 否則,請完成以下代碼部分(發送數組的其余部分)。 這項工作需要循環進行。 我一直在嘗試使用setTimeout,遞歸,但沒有成功! 我正在使用以下代碼在ttyO2上進行偵聽和編寫:

`var b = require('bonescript');

//opening the serial port
var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort('/dev/ttyO2', {
baudrate: 115200
});
var i = 0;

serialPort.on("open", function () {
console.log('opened');
serialPort.on('data', function(data) {
console.log('data received: ' + data);
serialPort.write( i + "\n", function(){});
});
});

serialPort.on("data", function (data) {
console.log("here: "+data);
});

`

var b = require('bonescript');


//opening the serial port

var SerialPort = require("serialport").SerialPort;

var serialPort = new SerialPort('/dev/ttyO2', {

  baudrate: 115200

});


var i = 0;
var waiting_interval = 5000;

var slaves = ["S1", "S2" , "S3", "S4", "S5"];



serialPort.on('open',function my(){ 
console.log("opened");
serialPort.on('data', function listenToSlaves(data){
        console.log("returned: " + data);
    });
writeToSlaves();

});


function writeToSlaves(){

//  setInterval(serialPort.write(slaves[i], function(){ console.log("I 
wrote to slave: " + i)}), 5000);

serialPort.write(slaves[i], function(){ });
console.log("I wrote to slave: " + i);
if(i<slaves.length - 1) i++;
else i=0;
setTimeout(writeToSlaves, waiting_interval);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM