Im Code, den Du im Vixen-Forum gefunden hast, geht es ja eigentlich um die Ausgabe auf PWM-Pins. Dort wird ja auch analogWrite() verwendet und es macht Sinn, ein komplettes Byte zu schreiben.
Da Du digitale Pins verwendest, solltest Du ein HIGH oder LOW mittelst digitalWrite() schreiben. Wie gesagt, das digitalWrite() nimmt Dir die Arbeit ab, daher ist das OK. Um es übersichtlicher zu machen, kannst Du auch ein
if(incomingByte[i] != 0) {
digitalWrite(pin,HIGH);
} else {
digitalWrite(pin,LOW);
}
verwenden. Aber wie gesagt, das hat keinen Einfluss auf das Ergebnis, da digitalWrite() im Prinzip das Gleiche macht.
Jetzt wäre es gut zu wissen, ob Vixen tatsächlich immer korrekterweise Nullen und "nicht Nullen" schickt, wenn ein Channel geändert wird.
Mario.