Calliope mini - Spaß durch Programmieren

gerade Parität

Ziel: Drückt man die Taste A, wird auf den ersten vier Zeilen des Bildschirms ein zufälliges binäres Muster dargestellt. Drück man dann die Taste B, wird spaltenweise in der letzten Zeile das Paritätsbit gesetzt.

Werden binäre Daten übertragen (also 0 und 1), gibt es mehrere Verfahren, mit denen man Prüfen kann, ob die Übertragung fehlerfrei erfolgt. Eins davon ist das Paritätsbit.

In diesem Beispiel soll in der unteren Zeile des Bildschirms jeweils das gerade Paritätsbit für die vier oberen LED gesetzt werden. Die vier Bilder demonstrieren das. Das linke Bild zeigt das zufällige Bitmuster und das rechte Bild das Muster mit dem gesetzten geraden Paritätsbit.

Es müssen dazu die vier oberen Bits zusammengezählt werden (dezimale Addition). Ist die Zahl nicht durch 2 teilbar (ungerade), erscheint in der unteren Zeile noch ein Bit. Damit stehen in jeder Zeile eine gerade Anzahl von Bits.

Werden die fünf Bits versendet, sieht der Empfänger bei einer ungeraden Anzahl sofort, dass was schief gegangen sein muss.




Im ersten Schritt wird nach dem Drücken von A in einem Array aus 20 Elementen ein zufälliges Bitmuster erzeugt und auf dem Bildschirm angezeigt..

Zur Vermeidung des Warte-Befehls nutzt man das Verfahren aus Warten ist doof. Die Anzeige auf dem Bildschirm wird im Lauflicht beschrieben.

Mit dem Druck auf die Taste B müssen die Werte einer Spalte aufsummiert werden. Jede eingeschaltete LED erhöht die Summe um 1.

Das Abfragen einer Zeile erfolgt in zwei verschachtelten Schleifen. Die erste Schleife (k) zählt die Spalten von 0 bis 4. In dieser Schleife werden bei jedem Durchlauf die ersten vier Zeilen der Spalte ausgelesen und der Inhalt zur Summe dazugezählt.
Dazu wird die Zählvariable m in 5er-Schritten von 0 bis 15 gezählt. Die Tabelle zeigt die ersten 8 Durchläufe.

k m k+m
0 0 0
0 5 5
0 10 10
0 15 15
1 0 1
1 5 6
1 10 11
1 15 16

 


Zuletzt muss in der inneren Schleife noch gepüft werden, ob die LED in der letzen Zeile eingeschaltet werden muss.

Fertig

zurück