HSG |
|
Die Quelltexte zu dem Delphi-Projekt findet man in Terminal3.zip. Es hat sich gezeigt, dass
in Delphi3 Fehlermeldungen auftreten, die man mit 'Ignorieren' übergehen kann. Leider scheint in Delphi3 die Baud-Umschaltung
nicht zu funktionieren. Das heißt, für einen anderen Baud-Wert müsste man neu kompilieren. Eine mit Delphi7 kompilierte
exe-Datei findet man in Term3.zip. Seltsamerweise funktioniert eine Baud-Umschaltung des Senders
erst im zweiten Versuch. D.h. nach einer Baud-Umschaltung 'sende Text','breche ab' und wieder 'sende Text' anklicken.
Man hat den Eindruck, dass der Empfänger erst 'auf Touren' kommen muss. Sendet man viele gleiche Zeichen, so werden
zunächst unterschiedlich - falsche - empfangen. Danach hat sich der Empfänger gefangen und empfängt immer das gleiche
Muster. Da die Synchronisation verlorengegangen ist, ist das empfangene Zeichen falsch.
Ich wäre sehr daran interessiert, hierzu Tipps zu bekommen. Versuche haben ergeben, dass die Verbindung von
vier Computern bei 100 Baud weitgehend fehlerfrei verläuft. Adresse 15 ist übrigens die 'Broadcast-Adresse'.
Das Programm stellt die Granularität auf 1 ms und schaltet die dynamische Prioritätszuweisung für Threads ab:
procedure TForm1.FormCreate(Sender: TObject); begin timeBeginPeriod(1); ... Empf := TEmpfaenger.create; if not SetThreadPriorityBoost(Empf.Handle,true) then showMessage('Fehler beim Abschalten des PriorityBoost'); ... end;