witam
Prosiłbym o pomoc/sugestie w czym szukać przyczyny. Odbieram dane serial w pętli głównej programu i robię echo czyli od razu chcę wysłać dalej to co otrzymałem.
Z początku miałęm if a nie while i otrzymując na wejsciu ramkę bajtów, każdy bajt na wyjściu był odseparowany opóźnieniem 50ms
przy while jest ok ale opoźnienie pomiędzy otrzymaniem a wysłaniem jest różne. Poniżej kilka zrzutów jak to wygląda, czasami nawet pomiędzy bajtami jest większy odstęp.
Może mi ktoś wyjaśnić dlaczego takie opóźnienia?
żółty wykres to dane przychodzące na pinie RX, niebieski to pomiar pinu TX
Prosiłbym o pomoc/sugestie w czym szukać przyczyny. Odbieram dane serial w pętli głównej programu i robię echo czyli od razu chcę wysłać dalej to co otrzymałem.
Kod:
while (Serial.available()) {
unsigned char inStr = Serial.read();
Serial.write(inStr);
}
Z początku miałęm if a nie while i otrzymując na wejsciu ramkę bajtów, każdy bajt na wyjściu był odseparowany opóźnieniem 50ms
przy while jest ok ale opoźnienie pomiędzy otrzymaniem a wysłaniem jest różne. Poniżej kilka zrzutów jak to wygląda, czasami nawet pomiędzy bajtami jest większy odstęp.
Może mi ktoś wyjaśnić dlaczego takie opóźnienia?
żółty wykres to dane przychodzące na pinie RX, niebieski to pomiar pinu TX