Ich habe doch geschrieben, wo ich denke, dass das Problem liegt. Dass Du die Berechnung auf 8 Bit erzwingst.

mach bitte so:

Code:
   
void Color16bit2colorRGB(uint16_t color16, uint16_t &R, uint16_t &G, uint16_t &B) {

   R = (color16 / 2048)*8; ;
   G = (color16 & 2016)/8;;
   B = (color16 & 31)*8;
   Serial.println("");
   Serial.println("Unterprogramm color16 zu RGB:");
   Serial.println( (String)"color16="+(String)color16);
   Serial.println( (String)"R="+(String)R);
   Serial.println( (String)"G="+(String)G);
   Serial.println( (String)"B="+(String)B); 
}


Ich hoffe, dass es jetzt besser ist!