Der große bzw. der kleine und wichtige Unterschied zwischen --------------------- > ZURÜCK <
bit und byteweiser Programmierung :

Wie bestimmt schon festgestellt wurde, werden die Decoder auf zwei verschiedene Art und Weisen programmiert. Auf den Ersten Blick ist der Unterschied zwischen den beiden Methoden nicht zu erkennen.
Dazu muß man erst einmal den Unterschied zwischen den beiden Wörtern erklären. Die Wörter stammen aus dem Computer Vokabular und man kann sie im übertragenen Sinn mit einer Hand und ihren Fingern vergleichen. Eine Hand hat nur fünf Finger und ein Byte besteht dagegen aus acht Bits, so als ob eine Hand 8 Finger hätte. Wenn ein Mensch nun nur eine Hand mit besagten 8 Fingern hätte, könnte er ja auch nur bis 8 zählen. Um nun Zahlen darstellen zu können die höher sind als 8 behilft man sich eines Tricks der erste Finger stellt die Zahl
1 dar, der zweite Finger stellt die Zahl 2 dar, der dritte Finger stellt nun nicht die Zahl 3 dar, sondern die Zahl 4. Mit Hilfe nur der ersten drei Finger lassen sich nun aber schon sieben Zahlen darstellen. Finger eins bedeutet 1, Finger zwei bedeutet 2, Finger eins und zwei bedeutet 3, Finger drei bedeutet 4, Finger eins und drei bedeutet 5, Finger zwei und drei bedeutet 6, Finger eins zwei und drei bedeutet 7.
Mit Hilfe aller acht Finger - in der Computersprache auch Bits - genannt lassen sich nun die Zahlen von
0 bis 255 darstellen.
CV steht für "Configurations Variable" und ist die Stelle an der der entsprechende Wert im Decoder abgelegt wird.
( Die Nummer der CV steht für die entsprechenden Eigenschaften des Decoders )

Bei der byteweisen Programmierung werden ganze Zahlen zwischen 0 und 255
in die entsprechende CV programmiert.

Bei der bitweisen Programmierung werden keine Zahlen in die entsprechende CV programmiert,
sondern es werden die einzelnen Bits der aus 8 Bits bestehenden Zahl entweder auf 0 oder 1 gestellt.

Info: Diese Vorgehensweise ist geschichtlich begründet. Die ersten Decoder hatten nur 8 Register ( Vorgänger der CV's ), da die damalig verfügbaren Bauelemente nicht mehr hergaben. Um nun nicht ein komplettes Register zu vergeuden nur um eine Funktion - wie z.B. das Vertauschen der Fahrtrichtung - innerhalb des Decoders programmieren zu können, hat man nur eins der acht Bits genommen um eine Funktion ein- oder ausschalten zu können. So konnte man innerhalb eines Registers ( CV ) schon 8 Funktionen schalten.

Jedes dieser Bits wird auf diese Art und Weise als einzelner Schalter genutzt.

Dies verkompliziert die Programmierung nun leider ein bißchen.

Um dies zu umgehen und zu vereinfachen ( manche Zentralen können das auch nicht ),
kann man daher die einzelnen Bits auch auf addieren und dann als ganze Zahl programmieren.

 

Funktion ausgeschaltet

Funktion eingeschaltet

Bit 1

0

1

Bit 2

0

2

Bit 3

0

4

Bit 4

0

8

Bit 5

0

16

Bit 6

0

32

Bit 7

0

64

Bit 8

0

128

 

Summe

255

Bei einer Funktion die ausgeschaltet bleiben soll bzw. nicht aktiviert werden soll,
wird für das entsprechende Bit keine Zahl addiert.

Bei einer Funktion die eingeschaltet werden soll bzw. aktiviert werden soll,
wird für das entsprechende Bit die entsprechende Zahl addiert.

Beim folgenden Beispiel sollen die Funktionen 2, 3 und 6 aktiviert werden.

 

 

Funktion ausgeschaltet

Funktion eingeschaltet

Wert

Bit 1

1

x

 

0

Bit 2

2

 

x

2

Bit 3

4

 

x

4

Bit 4

8

x

 

0

Bit 5

16

x

 

0

Bit 6

32

 

x

32

Bit 7

64

x

 

0

Bit 8

128

x

 

0

 

 

 

Summe

38

Nun wird die Endsumme von 38 in die entsprechende CV programmiert.

> ZURÜCK < ....................................................................................... Home ...... Kontakt