Serielle Schnittstelle

Gast #975419
Lesenswert?

Hallo,

ich versuche gerade ein computerbasiertes, universitäres Experiment zum 
Laufen zu bringen.
Von einem Steuer-PC steuer ich über eine Anwendung (Eprime, ein Programm 
zum durchführen psychologischer Experimente) einen anderen PC (auf dem 
ein Eye Tracker läuft) an.

Von dem Steuer-PC aus sende ich Befehle, über die serielle 
Schnittstelle. Ich habe aber folgendes Problem:
Die Software des Eye Tracker reagiert auf die Befehle "StartRecording" 
und "StopRecording"
--> aber im Data-File werden diese Ereignisse nicht immer notiert.

Was ich in der Software des Steuerrechner vorgefunden habe ist folgendes 
Stück Code:

Sub WriteThreeTimes(Data As Integer)
  Dim i As Integer
  for i = 1 to 3
  Serial.WriteInteger Data
  Serial.WriteInteger Data
  Serial.WriteInteger Data
sleep (2000/SamplingRate)
  next
  'Debug.Print "Sleep Time: " & (1000/SamplingRate)
End Sub


D.h. jemand hatte scheinbar schonmal das Problem, dass Ereignisse 
(Integer, die über die serielle Schnittstelle gesendet werden)
nicht zuverlässig GESPEICHERT werden.

Könnte das daran liegen, dass der Computer des Eye Tracker zu langsam 
(Windows 98) ist - oder ist das eher ein Problem mit der Schnittstelle?

Falls jemand Ideen zu diesem Problem hat, wäre ich sehr Dankbar,

Johann
Gast #975432
Lesenswert?

Hallo,

ich versuche gerade ein computerbasiertes, universitäres Experiment zum 
Laufen zu bringen.
Von einem Steuer-PC steuer ich über eine Anwendung (Eprime, ein Programm 
zum durchführen psychologischer Experimente) einen anderen PC (auf dem 
ein Eye Tracker läuft) an.

Von dem Steuer-PC aus sende ich Befehle, über die serielle
Schnittstelle. Ich habe aber folgendes Problem:

--> aber im Data-File werden diese Ereignisse nicht immer notiert.

Was ich in der Software des Steuerrechner vorgefunden habe ist folgendes 
Stück Code:

Sub WriteThreeTimes(Data As Integer)
Dim i As Integer
for i = 1 to 3
Serial.WriteInteger Data
Serial.WriteInteger Data
Serial.WriteInteger Data
sleep (2000/SamplingRate)
next
'Debug.Print "Sleep Time: " & (1000/SamplingRate)
End Sub


D.h. jemand hatte scheinbar schonmal das Problem, dass Ereignisse 
(Integer, die über die serielle Schnittstelle gesendet werden)
nicht zuverlässig Gesendet/Gespeichert werden.

Könnte das daran liegen, dass der Computer des Eye Tracker zu langsam 
(Windows 98) ist - oder ist das eher ein Problem mit der Schnittstelle?

Falls jemand Ideen zu diesem Problem hat, wäre ich sehr Dankbar,

Johann
Gast #975463
Lesenswert?

Das könnte am fehlenden oder nicht funktionierenden Handshake liegen - 
der Sender sendet zu viele Daten, als daß der Empfänger sie zeitgerecht 
abholen und auswerten kann.

Abhilfe schafft hier eine niedrigere Baudrate (natürlich auf beiden 
Seiten der Verbindung die gleiche ...)

Auch kann es sein, daß das "Protokoll" komplette Grütze ist, gerade bei 
Software, die im akademischen Bereich entwickelt wird, ist das ja eher 
der Standard, wenn nicht gerade technische Informatiker oder 
Übertragungstechniker daran beteiligt sind.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren