Betriebsumgebung
Raspberry Pi2 + raspbian (Python Serial installiert)
Windows 7 pro 32bit
Bestätigung der Python-Implementierung, die Steuerzeichen verarbeitet, die bei der RS-232C-Kommunikation verwendet werden
Verwendet zwei serielle USB-Kabel
Die Kommunikationsgeschwindigkeit beträgt 9600 Bit / s
<ACK>
und Zeichenketten zusammen sendencode
Der Code auf der Pi2-Seite hat versucht, Folgendes zu implementieren
160216commPrintable.py
#!/usr/bin/env python
import serial
import time
def isControlCharOtherThanCRLF(code):
if ord(code) == 13 or ord(code) == 10:
return False
return ord(code) < 32
def main():
con=serial.Serial('/dev/ttyUSB0', 9600, timeout=10)
rcvd=''
while 1:
code = con.read()
if len(code) > 0:
if isControlCharOtherThanCRLF(code):
print "control char:" + str(ord(code))
else:
rcvd = rcvd + code
if "\n" in rcvd or "\r" in rcvd:
print rcvd,
rcvd = ''
main()
Ich habe die folgende Zeichenfolge vom RS232C-Testtool auf der Win7-Seite gesendet.
test<CR><LF><ACK><NAK>test2<CR><LF>
Auf der Pi2-Seite (führen Sie den obigen Code aus) ist es wie folgt
test
control char:6
control char:21
test2
Recommended Posts