Environnement d'exploitation
Raspberry Pi2 + raspbian (série python installée)
Windows 7 pro 32bit
Confirmation de l'implémentation de python qui gère les caractères de contrôle utilisés dans la communication RS-232C
Utilise deux câbles série USB
--Côté gagnant> SRC06-USB (Buffalo)
La vitesse de communication est de 9600 bps
<ACK>
et des chaînes de caractères ensemblecode
Le code côté Pi2 a essayé d'implémenter ce qui suit
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()
J'ai envoyé la chaîne de caractères suivante à partir de l'outil de test RS232C côté Win7.
test<CR><LF><ACK><NAK>test2<CR><LF>
Du côté Pi2 (exécutez le code ci-dessus), c'est comme suit
test
control char:6
control char:21
test2
Recommended Posts