Hallo Roberto!

Aber das Beispiel von Izaseba
kopiert ja auch zwei Arrays?!
Jaja, Deine Lcd(char a)-Funktion versucht einen char in ein Array zu kopieren und nicht einen Array in ein Array.

Kann ich jetzt mit strcpy nur char aneinander hängen oder auch char-Arrays?
Sind das im obigen Beispiel jetzt Zeiger oder nur Arrays?
Aneinanderhängen kann man mit strcpy garnix, sondern nur kopieren. Du übergibst der Funktion einen Zeiger auf das Array, wo was reinkopiert werden soll und einen Zeiger auf das Array, von wo kopiert werden muss.

Wahrscheinlich ist "test test" kein Array?!
Wo muss ich das deklarieren?
Doch, "test test" ist ein Array, was anderes bleibt ja nicht übrig.

Habe deine Code mal probiert.
Leider fange ich da nix mit dem LCD_putchar..... an
(Habe das mal weggelassen)
Leider schreibt der Compiler mir bei :
LCD_puttext("test test");
immer den Fehler:
Parameter #1 of type 'flash unsigned char*' is incompatible with type 'unsigned char*' specified in the function 'LCD_puttext' declaration
Was für einen Compiler benutzt Du? Keinen GCC oder? 'flash unsigned char*' ist kein Standart-C sondern anscheinend auf die AVRs angepasstes. Ich nehme an, es soll einen Zeiger auf ein char im Flash darstellen. Dann musst Du auch in der Funktion anstatt 'unsigned char*pstr' 'flash unsigned char*pstr' schreiben. Das wird dann aber wiederum nur mit konstanten Texten gehen, aber nicht mit variablen Arrays. LCD_puttext("Hallo Welt") geht dann, LCD_puttext(Text) dann aber nicht mehr. Um Arrays auszugeben, die im RAM sind, musst Du eine zweite Funktion mit 'unsigned char*pstr' als Parameter erstellen.

MfG Mark