HSG

Aktuelle Seite: HSG/Fächer/Informatik/Netze/Programme

Terminalprogramm

GUI zu Terminal3 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'.

Kleine Dokumentation

Klassendiagramm

Klassendiagramm zu Terminal3

Besonderheiten

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;