C verständnis-Frage

Gast #1110452
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.