Implementierungsbeispiel zur Verarbeitung von Python> Test <CR> <LF> <ACK> <NAK> Test2 <CR> <LF>

Betriebsumgebung


Raspberry Pi2 + raspbian (Python Serial installiert)
Windows 7 pro 32bit

Was du machen willst

Bestätigung der Python-Implementierung, die Steuerzeichen verarbeitet, die bei der RS-232C-Kommunikation verwendet werden

Verbindungsformular

Verwendet zwei serielle USB-Kabel

Die Kommunikationsgeschwindigkeit beträgt 9600 Bit / s

Sanft

code

Der Code auf der Pi2-Seite hat versucht, Folgendes zu implementieren

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

Ergebnis

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

Implementierungsbeispiel zur Verarbeitung von Python> Test <CR> <LF> <ACK> <NAK> Test2 <CR> <LF>
Offline-Echtzeit zum Schreiben eines E14 Python-Implementierungsbeispiels
Offline in Echtzeit, wie man ein Implementierungsbeispiel für E11 Ruby und Python schreibt
Offline-Echtzeit zum Schreiben eines Python-Implementierungsbeispiels für das E15-Problem
PRML Kapitel 6 Gaussian Return Python-Implementierung
Wie man einen Taschentest mit Python macht