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

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