На моем AVR у меня есть массив символов, которые содержат информацию интенсивности цвета в виде {R, G, B, x, R, G, B, x, .. .} (x - неиспользуемый байт). Есть ли простой способ написать длинный int (32-разрядный) до char myArray[4*LIGHTS]
, чтобы я мог легко написать номер 0x00BBGGRR?Использование массива символов в виде массива длинных ints
Мое типирование грубое, и я не уверен, как его написать. Я предполагаю, что просто сделайте указатель на длинный тип int и установите значение, равное myArray, но тогда я не знаю, как произвольно сказать ему, чтобы установить группу x в myColor.
uint8_t myLights[4*LIGHTS];
uint32_t *myRGBGroups = myLights; // ?
*myRGBGroups = WHITE; // sets the first 4 bytes to WHITE
// ...but how to set the 10th group?
Edit: Я не уверен, если типажи даже правильный термин, как я думаю, что если бы он просто усечен в 32-разрядное число до 8-бита?
Правильно, это не связано с типизацией, а скорее с типедией и строками. – lImbus