Exemple d'implémentation pour traiter python> test <CR> <LF> <ACK> <NAK> test2 <CR> <LF>

Environnement d'exploitation


Raspberry Pi2 + raspbian (série python installée)
Windows 7 pro 32bit

Chose que tu veux faire

Confirmation de l'implémentation de python qui gère les caractères de contrôle utilisés dans la communication RS-232C

Formulaire de connexion

Utilise deux câbles série USB

--Côté gagnant> SRC06-USB (Buffalo)

La vitesse de communication est de 9600 bps

doux

code

Le code côté Pi2 a essayé d'implémenter ce qui suit

github

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()

résultat

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

Exemple d'implémentation pour traiter python> test <CR> <LF> <ACK> <NAK> test2 <CR> <LF>
Comment écrire un exemple d'implémentation E14 Python en temps réel hors ligne
Comment écrire un exemple d'implémentation E11 Ruby et Python en temps réel hors ligne
Comment écrire un exemple d'implémentation Python du problème E15 en temps réel hors ligne
PRML Chapitre 6 Implémentation Python Gaussian Return
Comment faire un test de sac avec python