Olá a todos, vou um grande frequentador desse forum, porem apenas para pesquisa, não falo muito, mas tenho um problema.
Estou desenvolvendo um software para uma empresa e estou utilizando o arduino como um dispositivo de auxilio.
Uma das finalidade do arduino é me enviar um pacote com 96 bytes, cada byte tem sua responsabilidade que não vem ao caso, o problema é o seguinte, ha momentos que o byte de indice '1' some e o resto é deslocado. Por exemplo:
byte0[valor=5] byte1[valor=2] byte2[valor=155] byte3[valor=20] byte4[valor=11] byte5[valor=76] byte6[valor=66] ...
ao enviar o byte1[valor=2] some e o resto desloca uma casa
byte0[valor=5] byte1[valor=155] byte2[valor=20] byte3[valor=11] byte4[valor=76] byte5[valor=66] ...
isso não é sempre mas deixa uma taxa de 91% de aproveitamento dos pacote, no software que recebe esse sinal fiz uma logica que detecta esse erro(deslocamento) e arruma o pacote(perdento o byte1 mas arrumando o resto), ai fico com aproveitamento de 98%.
Testei com os Arduino Uno, Duemilanove 168 e 328, Nano e Mega e todos apresentaram o mesmo problema(velocidade 38400, 57600 e 115200).
Inicialmente pensei que poderia ser o software de aquisição desenvolvido por min, usei a porta virtual do proprio software do arduino , hyperTerminal Tera Term e RComSerial e apresentou o mesmo erro.
A função que uso no codigo do arduino é "Serial.write((const uint8_t*) buffer, 96);"
Queria saber se alguem ja sofreu com isso ou percebeu algo semelhante.