Página 1 de 1

Problemas com o TWI

MensagemEnviado: 17 Jun 2009 10:32
por porcao
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

MensagemEnviado: 17 Jun 2009 10:43
por porcao
Mais informação.
Acabei de fazer outro teste e percebi que chega a ultima posição do array como sendo a primeira.

[]s

MensagemEnviado: 17 Jun 2009 11:03
por porcao
Acho que eu só precisava conversar com alguém, nem que seja eu mesmo!
Declarei o array como uint8_t e envio assim: Wire.send(buf,10);

Funfou :wink:

MensagemEnviado: 02 Jul 2009 22:47
por cassiolws
hehehe acontece as vezes fico assim tb dai saio tomo um café, ou chimarrão converso comigo mesmo e tudo da certo... =D