# -*- coding: iso-8859-1 -*- # Autor: mk, Datum: 1.6.08 import serial, time def send(s,bitzeit,port): # Schnittstelle öffnen ser = serial.Serial(port) # Bytes senden for i in range(len(s)): b = ord(s[i]) # Startbit ser.setRTS(1) time.sleep(bitzeit) # Datenbits for j in range(8): if b >= 128: ser.setRTS(1) else: ser.setRTS(0) b = (b*2)%256 time.sleep(bitzeit) # Stoppbit ser.setRTS(0) time.sleep(bitzeit) # Schnittstelle schließen ser.close() def receive(bitzeit,port): # Schnittstelle öffnen ser = serial.Serial(port) s = '' b = 0 while b != ord('#'): # '#' ist Ende-Zeichen # auf Startbit warten while ser.getCTS() == 0: time.sleep(0) # Bits empfangen time.sleep(bitzeit*1.5) b = 0 for i in range(8): b = b*2 if ser.getCTS() == 1: b = b+1 time.sleep(bitzeit) # mitten im Stoppbit s = s + chr(b) print s # Schnittstelle schließen ser.close()