0
我使用的serialport節點的Arduino wtih烏諾板進行通信。以下代碼是我用過的。節點的SerialPort
serialPort.on("open", function() {
console.log('open');
serialPort.on('data', function(data) {
console.log('data received: ' + data);
});
serialPort.write('s1\n', function(err, results) {
if(err)
console.log('err ' + err);
else
console.log('results ' + results);
});
});
當我請輸入作爲從終端「S1」(如TeraTerm或酷期限)我得到一個0或1作爲結果。基本上,s1是讀取特定傳感器狀態的命令。如果傳感器被激活,則返回1,如果不是0則返回。
但是,在上面的代碼片段中,我得到的結果爲3(這是用於輸入的字符串中的字符數)因此,如果我將's11 \ n'放入's1 \ n'中結果返回爲4.我在這裏做錯了什麼?
.on('data')事件從不觸發,但.on('open')事件觸發器,表示與板是好的
你能告訴我解析器的設置是什麼樣的,如下面的行解析器:com .parsers.readline( '\ r \ N')https://github.com/voodootikigod/node-serialport/blob/master/examples/readdata.js – Dino
未定義解析器。 – Aneesh
嘗試將其設置爲'\ n' – Dino