Hallo zusammen,
Ich hoffe mal, dass meine Frage nicht schon tausend mal beantwortet
wurde, aber ich hab nicht wirklich was dazu gefunden. Vielleicht macht
man das auch ganz anders.
Ich hab mir eine LED-Matrix gebaut, auf welcher ich nun gerne
verschiedene Symbole anzeigen möchte. Also zum Beispiel einfach die
Zahlen von 0-9.
Dazu habe ich die Zahlen als zweidimensionales Array angelegt und
gespeichert. Die Übergabe an die Funktionen zum Anzeigen per Pointer
funktioniert auch eigentlich soweit.
Nun wollte ich eine Klasse anlegen um eben die Funktionen zum Anzeigen
der LEDs zu kapseln und dann zb. schreiben zu können drei.wirte()
Wie schaffe ich das jetzt, dass ich eine neue Instanz erstelle und das
Array mit den Daten füttere??
Danke schon mal für die Hilfe :)
Anbei mal das was ich probiert hab:
1
constPROGMEMbytedrei[7][5]=// also so schaut momentan die Drei aus
2
{
3
{0,255,255,255,255},
4
{0,0,0,0,255},
5
{0,0,0,0,255},
6
{0,255,255,255,0},
7
{0,0,0,0,255},
8
{0,0,0,0,255},
9
{0,255,255,255,255},
10
};
11
12
//Damit hole ich mir die Symbole aus dem Speicher und trage sie in den Puffer ein
Dass die Variable zeichen public ist ist aber natürlich unschön...
Deshalb wirst du früher oder später wohl auch einen sogenannten
Constructor
(https://en.cppreference.com/w/cpp/language/initializer_list) benötigen.
Und abgesehn davon vermutlich generell ein C++ Tutorial...
Arduino Fanboy D. schrieb:> template<typename Array> constexpr size_t arrayCount(const Array &array)> {> return sizeof(array)/sizeof(array[0]);> }
Das würde ich dann aber eher so schreiben:
Vorteil ist, dass man das nicht versehentlich auf einen Zeiger oder
einen Container anwenden und dabei Blödsinn rausbekommen kann.
PS: Ich merke grad, dass man es dann auch etwas vereinfachen kann: