Wpis z mikrobloga

@echelon_: @kuhar: @Solidly: @Wyrewolwerowanyrewolwer:

http://wklej.org/id/1445944/

Jest to program do obslugi arduino przez łącze szeregowe. Jak debuguję i np. napiszę "dupa" to wszystko jest jest ok, komunikat sie nadaje, odbieram to samo i drukuję. A jak normalnie uruchamiam to robią sie jakieś dziwne przesunięcia np. komunikat z pierwszej iteracji pojawia sie dopiero w drugiej, albo cały czas wyświetla, że odczytał to samo, pomimo, że wysyłam co innego. Od strony
Pobierz
źródło: comment_3zDO943jCYaFkj2o6LoYDoXSrYr5erDt.jpg
@kobiaszu: Arduino nie znam, ale znam C i C++.

Z moich obserwacji:

- zamień char ww[4] = ""; na char ww[DP] = "";, bo będzie może kiedyś bolało. Dodatkowo zmień nazwę tej zmiennej z ww na outgoingData.

- w celach informacyjnych wydrukuj sobie jeszcze wartość writeResult

- błędy ze stringami miałeś pewnie dlatego, że w C utarło się, że za ostatnim znakiem w tablicy znaków jest znak '\0'.

- sprawdź, jak
@kobiaszu: To może jest w takim razie jakaś metoda w klasie Serial do inicjalizacji połączenia.

Bo taki odczyt w pętli to raczej traktowałbym jako "tymczasowy" hack. Chyba że dokumentacja Arduino mówi o tym, że pierwszy odczyt będzie "pusty" i zainicjuje połączenie.

Aaa - i wyciek pamięci masz na wskaźniku SP. ;p