Binärdaten mit pyserialer (python serieller Port)

Serial.write () -Methode in pyserial scheint nur String-Daten zu senden. Ich habe Arrays wie [0xc0,0x04,0x00] und möchte in der Lage sein, sie über den seriellen Port zu senden / zu empfangen? Gibt es irgendwelche getrennten Methoden für rohes I / O?

Ich glaube, ich müsste die Arrays auf ['\ xc0', '\ x04', '\ x00'] umstellen. Dennoch kann das Nullzeichen ein Problem darstellen.

    2 Solutions collect form web for “Binärdaten mit pyserialer (python serieller Port)”

    Sie müssen Ihre Daten in einen String konvertieren

    "\xc0\x04\x00" 

    Nullzeichen sind kein Problem in Python – Strings sind nicht null-terminiert das Nullbyte verhält sich wie ein weiteres Byte "\x00" .

    Ein Weg, dies zu tun:

     >>> import array >>> array.array('B', [0xc0, 0x04, 0x00]).tostring() '\xc0\x04\x00' 

    Eine alternative Methode, ohne das array Modul zu verwenden:

     def a2s(arr): """ Array of integer byte values --> binary string """ return ''.join(chr(b) for b in arr) 
    Python ist die beste Programmiersprache der Welt.