Arduino mit MFRC522-Reader

Arduino mit MFRC522-Reader

Schreiben in den Speicher

Wir wollen jetzt einen Block auslesen und ihn dann mit anderen Daten überschreiben. Wir können das vorherige Programm dazu komplett übernehmen und es werden lediglich einige Erweiterungen fällig:

Zunächst brauchen wir ein Array mit 16 Byte (bWrite[16]), das wir in der Setup-Funktion mit den Werten "0x88" füllen.



Außerdem ändern wir den zu lesen Block von 0 auf 4 (also den 1. Block im 2. Sektor). Für diesen Sektor ist der Trailer-Block (Block 7) verantwortlich. Deshalb ändern wir die Werte für "bBlock" und "bTrailerBlock" entsprechend.

Im Hauptprogramm löschen wir zwischen der Authentifikation und dem Halt-Befehl den Code und ersetzen ihn durch den folgenden Block:



Der Ablauf ist nahezu selbsterklärend:

Schauen wir einmal nach, ob es auch wirklich so funktoniert, wie wir das geplant hatten und lassen das Programm laufen:



Das sieht gut aus! Die 2 Byte hinter den Daten am Ende sind übrigens Prüfsummen, mit denen wir eine fehlerfreie Übertragung sichern können.

Da der Trailer-Block im Grunde nichts anderes ist als ein Datenblock können Sie auch diese Blöcke in der gleichen Art und Weise beschreiben und somit den Schlüssel für KEY_A oder KEY_B sowie die Access-Bits ändern.