Es gibt in C keine Zeiger auf String.
Es gibt auch keine Strings so wie man sie von Java oder so kennt.
In C ist ein String ein char Array, das mit einem 0 (kein '0') terminiert ist.

Wenn man jetzt eine Funktion schreiben will, die einen Zeiger auf ein char Array schlucken soll, muß man sie wohl so definieren
Code:
void LCD_WriteString(char* string);
Irgendwie logisch.

Bedenke, der Kompiler warnt Dich, daß da was nicht passt,
es ist kein Fehler.
Dein Code müßte trotzdem übersetzt und richtig ausgeführt werden.
Man soll keine Warnungen ignorieren, diese fällt aber in die Kategorie,
nicht wichtig.
Um Ruhe zu kriegen ist es natürlich sinnvoll unsigned an der Stelle wegzulassen.

Gruß Sebastian