Ich sende Befehl mit einem Endbyte, es ist: 0xFF dreimal. In Python, funktioniert dieser Code:Sende Byte (0xFF) mit Node.js über SerialPort
import time
import serial
ser = serial.Serial(
port='/dev/ttyAMA0',
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1
)
while 1:
EndCom = "\xff\xff\xff"
ser.write('page 1'+EndCom)
print EndCom
time.sleep(1)
Der gleiche Code in Node.js arbeitet nicht:
var serialport = require('serialport');
var SerialPort = serialport.SerialPort;
var port = new SerialPort('/dev/ttyAMA0', {
baudrate: 9600
});
port.on('open', function() {
console.log('Port ouvert sur /dev/ttyAMA0 @ 9600 bds');
var end = "\xff\xff\xff";
port.write("page 1"+end);
});
port.on('data', function(byte) {
console.log("Data :", byte.toString('hex').match(/.{1,2}/g).join(" "));
});
ich diese verwenden, um einen Nextion Bildschirm zu steuern, die Arbeit mit Serialport ist. Bei Python erhalte ich "Seite 1" mit 3 Leerzeichen, bei Node.js bekomme ich diese: "Seite 1".
Ich weiß nicht warum, es gibt keinen Unterschied für mich.
Danke für die Hilfe!