Hi,
This is my code:
#define NUMBER_OF_ROWS 50 #define NUMBER_OF_COLS 2 unsigned int Array[NUMBER_OF_ROWS] [NUMBER_OF_COLS] = { {100,50}, {20 ,10 }, {16 , 8 }, {14 , 7 }, {12 , 6 }, {11 , 5.5 }, {10 , 5 }, {9.1, 4.55}, {2 , 1 } and so on until 50 rows..};
The problem is I have 50 elements needed for a lookup table, but the following error occur: Array.h(57): error C242: 'array[]': too many initializers
When I initialize number of rows to 45, no error prompt. I need to use all the 50 elements. Is this the only way for me to create a lookup table? Can someone guide me on using more simpler method? Please help me. Thanks.
Floating point values can be stored - and then retrieved - from an unsigned int??? Are you really, really sure? Note that the compiler has to "downgrade" from float to int when assigning to an int. So having the value 9.1 in the source code will just trick a developer into believing you have an array with that value when in reality you haven't.
Have you considered looking at the memory map of your processor? Exactly which memory region do you want the compiler to store your 50*2*2 = 200 byte large array in? Are you using a memory model where all variables are stored in XRAM?