C verständnis-Frage

Gast #1110452
Lesenswert?

Hallo Zusammen,

Hatte in den falschen Threat geschrieben, hoffentlich bin ich jetzt hier 
richtig.

Aslo ich bin dabei den Code-Schnipsel im Anhang zu verstehen.

Die Numerierten Zeilen verstehe ich nicht, wenn einer von euch mir
helfen kann komme ich ein riesen Schritt weiter.

was ich so verstehe korrigiert mich bitte wenn es falsch ist:

1. Multipliziert den Array inhalt mit 8. Aber warum weis ich nicht
2. Addiert die Adresse 0xA0(anfang des CGRAMs) noch zu address (ich
hätte gesagt das reicht, somit brauchte er eigendlich doch nicht 1.
oder?)
3. Setzt den Zeiger auf den nächsten Byte im Array-Feld, somit wird doch
das erste Zeichen gar nicht in 5. ausgegeben, oder?
4. hier hätte ich den Start adresse erwartet also 0xA0
5. Hier schreibt er die Array-Felder einzeln in den CGRAM

Ich hoffe dass reich als info falls ihr noch was brauch sende ich sie
natürlich sofort...

Grüße
Khan
Angehängte Dateien:
Moderator Persönliche Seite #1110463
Lesenswert?

Khan wrote:

> 1. Multipliziert den Array inhalt mit 8.

Nein, nicht das ganze Array, sondern das erste Element.

> Aber warum weis ich nicht

Vermutlich, weil das die Nummer des anzusprechenden Zeichens im
CGRAM ist, dort aber jedes Zeichen wiederum 8 Byte belegt.

> 2. Addiert die Adresse 0xA0(anfang des CGRAMs) noch zu address (ich
> hätte gesagt das reicht, somit brauchte er eigendlich doch nicht 1.
> oder?)

Doch, s. o.

> 3. Setzt den Zeiger auf den nächsten Byte im Array-Feld, somit wird doch
> das erste Zeichen gar nicht in 5. ausgegeben, oder?

Offenbar steht vor dem ersten Zeichen halt die Nummer des Zeichens
im CGRAM.  Nach 3. dann zeigt "data" auf das erste Byte des Inhalts
des 1. Zeichens.

> 4. hier hätte ich den Start adresse erwartet also 0xA0

Das wäre die Startadresse des ersten Zeichens, du willst aber
mehr als ein Zeichen beschreiben können.  Außerdem besteht jedes
Zeichen selbst aus mehreren (nämlich acht) Bytes, daher das "+ i".
(Man hätte auch statt "address + i" zu schreiben "address++"
schreiben können. ;-)

> 5. Hier schreibt er die Array-Felder einzeln in den CGRAM

Ja, dort wird ein einzelnes Byte des CGRAM beschrieben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren