Ja bist du, und die Aufgaben die du dir stellst, bzw. von denen ich
mittlerweile ausgehe, dass sie dir gestellt werden, ueberschreiten
deinen momentanen Horizont, sowohl was die Programmiersprache angeht als
auch die Kenntnisse von Hardware bzw. der uCs.
Du solltest zuerst mal ein C-Buch lesen, dann wuerden sich dir solche
Fragen wie oben bezueglich des #defines schonmal nicht mehr stellen.
Dann solltest du mal ein paar Uebungsaufgaben aus den Tutorials
durcharbeiten und vielleicht mit einem nicht ganz so maechtigen
Controller anfangen. Es macht keinen Sinn und hat etwa den Lerneffekt
von NULL, wenn du dir Beispiele und fertigen Code aus dem Netz
zusammenklaubst und dann krampfhaft versucht, ihn zu verstehen.
Andersrum macht es Sinn: Datenblatt lesen und verstehen, und dann selber
Code erarbeiten. Das ist am Anfang zwar frustrierend, aber bei eigenem
Code und "selbst" gebauten Fehlern wirst du hier von Vornherein schon
mehr Hilfe bekommen als wenn du den Leuten irgendwas Fremdes vorsetzt.
Nebenbei schult das ganze deinen Programmierstil in Bezug auf
Formatierung, Lesbarkeit, Struktur usw...
Zu deinen Fragen:
1 | #define AT45_writeBlock spi0_writeBlock
|
Der Compiler ersetzt VOR dem eigentlichen Uebersetzen (daher
PRE-Prozessor Anweisung) alle "AT45_writeBlock" im Quellcode mit
"spi0_writeBlock" Nicht mehr, nicht weniger.
Woher die HEX 84 kommen, kann dir ausser dem Autor vermutlich keiner
sagen. 0x84 ist ein recht krummer Wert. Wird aber sicherlich seine
Berechtigung haben.