Hallo Pdd,

Code:
char msg[1];
ist ein Vektor bestehend aus 1 Element (hier Byte).

Code:
msg[1] = "";
ist eine Zuweisung auf das 2. Element (Byte) des Vektors. Also hinter den Vektor, da dieser ja nur 1 Byte lang ist.
In C wird so etwas nicht überprüft, was zu unerwarteten Effekten führen kann!

Code:
msg[0] = "";
wäre richtig (das gleiche gilt bei Vergleichen und als Parameter für Funktionen).

Vielleicht nochmal den Abschnitt über Zeiger und Vektoren in der Asuro Bedienungsanleitung durchsehen.

Gruß m.a.r.v.i.n