Array befüllen

Gast #2167308
Lesenswert?
• ▲
▼
Hallo wieder einmal,

Ich komme gerade nicht weiter. Ich habe mir einen Zeichensatz 
programmiert.

Jetzt möchte ich aus den einzelnen Zeichen ein Wort bauen. Sagen wir im 
Zeichensatz ist Postition 1 ein H, 2 ein A, 3 ein L und 4 ein O.

Zur Zeit habe ich es nur mit einem Zeichen hinbekommen, also ohne ein 
Wort Array zu bauen.

Zeichensatz (Auszug)
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.STD_LOGIC_ARITH.ALL;
4
use IEEE.STD_LOGIC_UNSIGNED.ALL;
5

6
PACKAGE ascii_char is
7

8
TYPE font_type is array (0 to 15) of std_logic_vector (0 to 15);
9
TYPE font_ROM is array (0 to 15) of font_type; 
10
              
11
CONSTANT ascii: font_ROM :=            
12
        (("0000000000000000",  -- 0  #0
13
                            "0000000000000000", 
14
                            "0000000000000000",
15
                            "0000000000000000",
16
                            "0000000000000000",
17
                            "0000000000000000",
18
                            "0000000000000000",
19
                            "0000000000000000",
20
                            "0000000000000000",
21
                            "0000000000000000",
22
                            "0000000000000000",
23
                            "0000000000000000",
24
                            "0000000000000000",
25
                            "0000000000000000",
26
                            "0000000000000000",
27
                 "0000000000000000") --15  Space
28
 );
29
  
30
END ascii_char;

hier hole ich mir in einer anderen entity das Zeichen aus dem Package
1
library work;
2
use work.ascii_char.ALL;
3

4
pixel := ascii(0)(Char_y)(Char_x);

Wie bekomme ich das jetzt hin, das statt statt der null jetzt ein array 
eingelesen wird das zum Bsp "HALLO" ausgibt

Mit einer Abfrage würde ich immer das nächste Zeichen aus dem Array 
holen. Also wenn ich beim im Zeichen bei 15 / 15 angekommen bin, wird 
dann das nächste Zeichen geladen.
Gast #2167364
Lesenswert?
• ▲
▼
...der Inhalt des Wort Arrays ist für den Test statisch. später soll das 
Array per I2C befüllt werden, so dass man die Ausgabe variieren kann.

Was aber ein auf ein weiteres Problem führt. Ich muss das Array in der 
Länge variabel machen und nach jedem befüllen des Array dessen Länger 
ermitteln.

Wie das geht konnte ich bis jetzt nicht ergründen.
Moderator (Firma: Titel) Persönliche Seite #2167439
Lesenswert?
• ▲
▼
Dennis schrieb:
> Ich habe mir einen Zeichensatz programmiert.
Wofür?
Wo soll der angezeigt werden?

> Jetzt möchte ich aus den einzelnen Zeichen ein Wort bauen.
> Zur Zeit habe ich es nur mit einem Zeichen hinbekommen,
Und wie sieht so ein Zeichen aus?
Wie sähe z.B. ein H aus?

> Wie bekomme ich das jetzt hin, das statt statt der null jetzt ein array
> eingelesen wird das zum Bsp "HALLO" ausgibt
Wo soll denn in diesem Array das Wort "HALLO" stehen?

Dennis schrieb:
> Ich muss das Array in der Länge variabel machen und nach jedem
> befüllen des Array dessen Länger ermitteln.
Vergiss das mit "variabel". Du beschreibst Hardware, da ist nichts 
variabel. Du kannst höchstens zuviel (bzw. ausreichend) viel Platz 
reservieren. Das ginge z.B. in einem RAM...
Gast #2167498
Lesenswert?
• ▲
▼
das ist ein A
1
 ("0000000000000000",  --#1
2
                            "0111111111111100",
3
                            "0111111111111100",
4
                            "0110000000001100",
5
                            "0110000000001100",
6
                            "0110000000001100",
7
                            "0110000000001100",
8
                            "0111111111111100",
9
                            "0111111111111100",
10
                            "0110000000001100",
11
                            "0110000000001100",
12
                            "0110000000001100",
13
                            "0110000000001100",
14
                            "0110000000001100",
15
                            "0110000000001100",
16
              "0000000000000000"), --A

habs soweit hinbekommen das er mit HALLO anzeigt. Nur habe ich noch das 
Problem der Länge des Array.

Selbst wenn ich sage, es können 100 werte ins Array geschrieben werden.
Wie weiß ich wieviel wirklich drin sind und was Rest ist?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.