Netze [Material] [historische Beispiele] [Einstieg] [Grundbegriffe] [Netzhardware] [Universal-Empfänger] [mini-Sender] [mini-Empfänger] [miniEthernet] [Transceiver] [Fehlererkennung] [Fehlerbehandlung] [Bus] [Rahmen] [Medium Access Control] [Routing] [Schichtenmodell] [Sockets] [Dienste im Internet] [Real-Experimente] [Sicherheit] [Codes] [Programme] [Hardware] [Protokolle] [Glossar] [Bautipps] [Unterricht]
Pfad: [Startseite] / [Fächer] / [Informatik] / [Netze] / [mini-Empfänger]
Hohenstaufen-Gymnasium
Kaiserslautern
Autor: mk
Letzte Änderung dieser Seite: 10.12.2007 08:57:17  3156
miniRS232-Empfänger

Einfacher Empfänger

Schema zum miniEmpfänger
Ein Programm zum Empfang von Nachrichten nach unserem miniRS232-Protokoll könnte folgenden Aufbau haben:

Struktogramm zum Empfänger Die Bitverschiebungsbefehle shl (shift left) und shr (shift right) haben sich als sehr nützlich zum Zerlegen und Zusammenfügen von Bytes ('Integers') erwiesen. So wird z.B. aus dem Byte b = 148 = '1001 0100' durch die Anweisung b := b shl 2; das Byte b = 80 = '0101 0000'.

Aufgabe

GUI zum einfachen Empfänger Schreibe ein Programm, das einen einfachen Empfänger zu unserem Protokoll realisiert. Teste das Programm indem auf einer Schnittstelle empfangen wird, was auf einer anderen Schnittstelle gesendet wird. Die Schnittstellen werden dabei mit einem Nullmodemkabel (RTS und CTS gekreuzt) verbunden. Die Schnittstellen können dabei auf demselben oder auf verschiedenen Computern sein.
Möglicherweise wird es nötig sein, den Fenster-Refresh explizit z.B. mit Form1.refresh; aufzurufen.
Versuche beim Testen des Programms das Fenster zu verschieben. Was passiert, wenn man das Programm beenden will?

empfaenger0.zip, Empf0_exe.zip

Hilfe

-->

Technische Tipps

Zumindest auf einigen Rechnern kann man wesentlich höhere Baud-Raten erreichen, wenn man am Anfang des Programms die Zeitauflösung von sleep mit

...
uses
  ...., mmsystem, ...
...
  TimeBeginPeriod(1);

auf eine große Granularität schaltet und am Schluss mit

  TimeEndPeriod(1);

wieder ausschaltet.

Man kann Windows zu einem entscheidend - für unsere Zwecke - besseren Zeitverhalten veranlassen, wenn man mit dem Taskmanager (Strg-Alt-Entf) dem Prozess mit der rechten Maustaste eine höhere Priorität zuweist. Die Priorität 'Echtzeit' erreicht man nur mit Administratorrechten.

Valid XHTML 1.0! lokal