pyparallel und die Datenübertragungsrate
Verfasst: Sonntag 10. September 2006, 11:55
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:
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
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
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