Hallo,
sind die * Überreste der Formatierung oder dereferenzierungs Operatoren (Was eig kaum sein kann ,aber ich frage mal lieber nach).
Weiterhin wäre es für Außenstehenden schön wenn du deinen Code etwas kommentieren könntest und zudem das Prinzip deiner bisherigen Überlegung schilden könntest.
(Nicht dass man das nicht aus dem Code lesen könnte, aber es würde die Hilfsbereitschaft wesentlich erhöhen)

Nun zu deinem Code:


1. Wenn du beim Aufrufen von blinkloop schon abfragst ob blink_on == 1 entspricht brauchst du das nicht noch mal in der Methode zu machen.
2. Was willst du damit bezwecken ?

serialinput*=*LED_OFF;

3. Zum Blinken: versuch mal msLast einen wert bei der initialisierung zu geben, da in C nicht definiert ist mit was ein int initialisiert wird.
Zudem sehe ich keine stelle an der ledState gesetzt wird. Also wird ledState wohl immer false sein.