pyparallel und die Datenübertragungsrate

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Hallo,

habe wieder ein Problem mit dem Parallelport. Muss für eine Anwendung einen 2-Bit Graycode über den Parallelport senden (Graycode: 00, 01, 11, 10). Dies geht mit pyparallel sehr gut. Allerdings brauche ich ein Time Befehl (sleep()) zwischen den Sendebefehlen (...setData(...)) damit mit diesen die Sendefrequenz entsprechend gestellt werden kann. Ein Ausschnitt meines Codes sieht folgendermaßen aus:

Code: Alles auswählen

import parallel
from time import*

p=parallel.Parallel()
Graycode=[]         
Graycode.append(0)
Graycode.append(1)
Graycode.append(3)
Graycode.append(2)
......
......
......
zaehler=0                 

while 1:
   p.setData(Graycode[zaehler])
   sleep(0.01)
   zaehler=zaehler+1
   if zaehler>3:
      zaehler=0
Durch Variation der Zahl in sleep() kann die Sendefrequenz demnach gestellt werden und die Abfolge des Graycodes demnach mal schnell und mal langsam immer wieder über den Parallelport gesendet werden.
Problem dabei ist, dass ab einer gewissen Frequenz die ich in sleep() einstelle (schon ab 100Hz bzw. 0.01s), die Daten trotzdem nur mit maximal 100Hz gesendet werden. Ob ich nun die Daten von Python Seite aus mit 200Hz oder 2000Hz sende spielt keine Rolle. Die Daten werden immer mit maximal ca. 100Hz gesendet. Das ganze ist für mich ein Rätsel!!!
Ein vergleichbares C++ Programm hat das Problem nicht. Ich möchte allerdings das Programm in Python lösen. Hat da jemand einen Ratschlag? Liegt dies womöglich an pyparallel? Ist irgendwo in Python eine Begrenzung drin, die die Sendefrequenz begrenzt?

Vielen Dank im voraus,
Toni
Antworten