const rom int pwm_ref[6]= {0,8,17,25,33,42};
rom : it says the compiler that the array allocated in program memory, not data memory. if you omit "rom", the variable allocated in data mem.
int: each number in array has 16-bit wide. use "int" even the number is 8-bit. Because it generates more compact code after compile.
No, char is a byte. But signed byte.
char --> 8-bit signed variable. (range : -128,-127)
unsigned char --> 8-bit unsigned variable (0,255)
int --> 16-bit signed (-32768, -32767)
unsigned int --> 16-bit unsigned (0,65536)
long --> 32-bit signed
unsigned long --> 32-bit unsigned
double --> 64-bit signed