Wpis z mikrobloga

Ma ktoś jakiś pomysł na coś w stylu protokołu do komunikacji między PC i Arduino? Wysyłanie i dobieranie jednego znaku nie jest problemem, ale w momencie gdy odbieram dane z akcelerometru, kompasu i czujników zbliżeniowych, a do tego wysyłam jakieś komendy w drugą stronę, to nie zawsze trzymają się swego szyku. Obmyślił ktoś sposób na bezproblemową komunikację?

#arduino
  • 7
@gromwell: No przecież cały czas jadę po uarcie. Chodzi tylko o to, że program nie zawsze trzyma kolejność wysyłania i odbierania i potem np. odległość z przedniego czujnika ultradzwiękowego zapisuje się jako odczyt z akcelerometru w osi X. Szukam jakiegoś autorskiego protokołu, żeby program rozpoznawał co do czego przypisać.
@kobiaszu: jak często to ma być wysyłane?

Może najpierw przygotuj sobie wartości w zmiennych i raz na sekundę robisz z tego paczkę i wysyłasz.

Żeby łatwo się to parsowało po stronie PC możesz całość puścić w JSON lub XML :-P #nieznamsietosiewypowiem
@kobiaszu: Możesz wysłać jeden bajt ale kilka razy, w pętli. Synchronizacja kosztuje czas procesora więc lepiej wysłać tablicę 4 bajtów (uint32_t) bazując na IRQ od uarta.

A możesz zrobić też transfer na przerwaniach, zamiast na pętli.