I apologize for the ignorance. I have a function
void Color_send(uint8_t (*color)[3], uint16_t len)
The function have as parameter for RGB of ligth any as uint8_t light[100][3];
Solve the problem of how to be able to, when you write a program using predefined values of color. Any as
#define RED {255, 0, 0} #define GREEN {0, 255, 0} #define BLUE {0, 255, 0} ... Color_send( RED, 1); Color_send( GREEN, 1);
But not this works, advice on how to solve the problem?
Your problem is not with passing an array of arrays. Your problem is that your program doesn't have such a thing. This
{ 1, 2, 3}
is not an array. It's basically just syntactic garbage unless it appears as the initializer of a variable. You need something like
const uint8_t[][3] RED = { { 1, 2, 3} };
Note the extra pair of { } to explicitly make it a collections of collections (in this case, an array of arrays).
Ahem, make that
const uint8_t RED[1][3] = { { 1, 2, 3} };