Problemas com o TWI

Alguém já passou por isso?
Montei um array igual de cada lado (master e slave).
Se o array for do tipo CHAR ele é enviado na boa usando Wire.send(buf). Só que não posso ter um valor zero no meio. Ele entende que é o fim do array e para a transmissão.
Então para a minha necessidade eu montei um array tipo byte.
É assim que eu envio:
void requestEvent()
{
for(int i=0; i<TAMBUFFER; i++) Wire.send(buf[i]);
}
E assim que eu tento receber:
Wire.requestFrom(1, TAMBUFFER);
i=0;
while (Wire.available ()){
buf[i]=Wire.receive();
i++;
}
O problema é que eu só recebo a primeira posição do array, o resto vem com 255.
Alguma ideia do que pode estar acontecendo? Eu precisava inicalizar o array com zeros, não queria fazer a gambiarra de inicializar com 1 e ficar subtraindo quando recebo e somando um qaundo tenho que enviar.
[]s
Montei um array igual de cada lado (master e slave).
Se o array for do tipo CHAR ele é enviado na boa usando Wire.send(buf). Só que não posso ter um valor zero no meio. Ele entende que é o fim do array e para a transmissão.
Então para a minha necessidade eu montei um array tipo byte.
É assim que eu envio:
void requestEvent()
{
for(int i=0; i<TAMBUFFER; i++) Wire.send(buf[i]);
}
E assim que eu tento receber:
Wire.requestFrom(1, TAMBUFFER);
i=0;
while (Wire.available ()){
buf[i]=Wire.receive();
i++;
}
O problema é que eu só recebo a primeira posição do array, o resto vem com 255.
Alguma ideia do que pode estar acontecendo? Eu precisava inicalizar o array com zeros, não queria fazer a gambiarra de inicializar com 1 e ficar subtraindo quando recebo e somando um qaundo tenho que enviar.
[]s