我一直在尝试解决如何在嵌入式 C++ 中执行此操作一段时间,我有一个 RGB888 网站的十六进制颜色,例如“#ba00ff”,我想将其转换为 C++ RGB555 十六进制值,例如0x177C
目前我已经从字符串中修剪了 # 并坚持将其转换为可用于创建 RGB555 的类型
我的代码目前看起来像
p_led_struct->color = "#ba00ff";
char hexString[7] = {};
memmove(hexString, p_led_struct->color+1, strlen(p_led_struct->color));
byte colorBytes[3];
sscanf(hexString,"%x%x%x",&colorBytes);
尽管 colorBytes 数组的数据不正确,但 hexString 值正确变为“ba00ff”。
关于我应该如何进行这种转换的任何帮助都会很棒:)
谢谢!