void setup(){
Serial.begin(115200);
Serial.println(rgbTo24BitHex(255, 255, 255)); //Print the string.
//Serial.println(rgb565(0xFFFFFF),HEX);
}
void loop(){}
String rgbTo24BitHex(uint8_t Red, uint8_t Green, uint8_t Blue){
char hex[] = {};
//unsigned long result;
sprintf(hex, "#%02X%02X%02X",Red, Green, Blue); //convert to an hexadecimal string. Lookup sprintf for what %02X means.
//result = charHex2Hex(hex);
return String(hex);
}
unsigned long charHex2Hex(char str[]){
return strtol(str, 0, 16);
// ^ = hexadecimal
}
uint16_t rgb565(const unsigned long rgb)
{
uint16_t R = (rgb >> 16) & 0xFF;
uint16_t G = (rgb >> 8) & 0xFF;
uint16_t B = (rgb ) & 0xFF;
uint16_t ret = (R & 0xF8) << 8; // 5 bits
ret |= (G & 0xFC) << 3; // 6 bits
ret |= (B & 0xF8) >> 3; // 5 bits
return( ret);
}