==== arreglos y funciones en Arduino ====
Los array son pasados como referencia (modifican la variable externa) y tambien hay que pasar el tamaƱo del array. \\
https://www.tutorialspoint.com/arduino/arduino_passing_arrays_to_functions.htm
int datosSize = 8;
byte datos[datosSize] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
for ( int k = 0 ; k < datosSize ; k=k+1 )
datos[k] = 0;
void ModificaDatos( byte datos[], int datosSize ) {
for ( int k = 0 ; k < datosSize ; k=k+1 )
datos[k] = (1 +k);
}
==== bytes y enteros en Arduino ====
un entero 16 bits (0 a 65535) ---> 2 bytes (8 bits c/u) \\
o un entero 14 bits (0 a 16383) ---> 2 bytes (8 bits c/u) \\
byte lowBy = (entero & 0xff); //los primeros 8 bits
byte highBy = (entero >> 8) & 0xff); //los siguientes 8 bits
byte lowBy low = (entero & 0x7f); //los primeros 7 bits, el bit8 siempre en 0 indica es low
byte highBy = ((entero >> 7) & 0x7f) | 0x80; //los siguientes 7 bits, el bit8 siempre en 1 indica es high
byte = highByte(entero); //los primeros 8 bits
byte = lowByte(entero); //los siguientes 8 bits
entero = word(highBy, lowBy); //returns the integer value of the highBy and lowBy bytes