Je déclare un tableauLire à partir du tableau deux octets à la fois?
uint8_t data_buffer[64];
Je vous écris dans, puis j'ai besoin de itérer dessus regardant qu'il stocke des données. Les données sont écrites en groupes de deux.
En ce moment je suis en train de faire quelque chose comme ça désordre
for(int i = 1; i < BUFFER_LEN + 1; i += 2)
{
if(data_buffer[i] == 0xff && data_buffer[i+1] == 0xff)
{
write_led_states(i/2 + 1, OFF);
}
else
{
write_led_states(i/2 + 1, ON);
}
}
Mais je préfère de beaucoup être en mesure de lire deux octets de données à la fois de la mémoire tampon pour que je puisse faire quelque chose comme ceci:
for(int i = 1; i < BUFFER_LEN + 1; i++)
{
if(data_buffer[i] == 0xffff) // where data_buffer is being read two bytes at a time
{
write_led_states(i, OFF);
}
else
{
write_led_states(i, ON);
}
}
Une autre façon de dire ce que je veux faire est de redéfinir les indices afin qu'ils vont de ressembler à ceci:
[1][2][3][4][5][6][7][8]
d'aimer ceci:
[1...][2...][3...][4...]
Est-ce possible?
Votre code actuel me semble accéder au tableau hors limites. Vous savez que les tableaux sont basés sur 0, n'est-ce pas? –
Le premier octet du tampon n'est pas utilisé? ('data_buffer [0]') –
Le premier octet du tampon contient un indicateur notant le type de données qui suit. Mais je suppose que oui, je sors des limites à la fin. – Indigo