Liczba postów: 8
Liczba wątków: 2
Dołączył: Feb 2017
Reputacja:
0
Witam,
mógłby ktoś mi pomóc z formatowaniem danej którą dostaje przez serial?
Dostaje dane w formacie "a100" "b100" "c20" , może to być dana np ze spacją czyli odpowiednio "a 100" "b 100" "c 20"
i chciałbym wysterować nimi odpowiedni pin z pwm
literka oznacza pin PWM
a=9
b=10
c=11
a liczba za literką jego wypełnienie. nie bardzo wiem jak to ogarnąć, proszę o jakąś podpowiedz..
Liczba postów: 397
Liczba wątków: 0
Dołączył: Oct 2016
Reputacja:
73
Całą dokumentację masz na dysku.
Pomoc->Referencje - przeczytaj najpierw o funkcjach klasy Serial.
Jak poczytasz to użyj metody Serial.readBytesUntil() do oczytania ciągu danych do bufora. Pierwsza pozycja w tablicy(buforze) to nr pinu, reszta to wartość.
Inna opcja(chyba łatwiejsza) to użycie Serial.readStringUntil() i odczytanie danych do łańcucha. Pierwszy znak to numer pinu, reszta wartość. Wycinasz znaki używając odpowiednich metod klasy String o której oczywiście musisz poczytać w referencjach(String - object).
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
Liczba postów: 397
Liczba wątków: 0
Dołączył: Oct 2016
Reputacja:
73
Nie możesz porównywać tablicy typu char z wartością typu int: if (Command == 1). Podobnie ma się sprawa z =e zmienną Data.
Włącz ostrzeżenia kompilatora: Plik->Preferencje->Pokaz szczegółowe informacje podczas kompilacji. Generalnie można to zrobić prościej ale zmierzasz w dobrym kierunku.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
Liczba postów: 8
Liczba wątków: 2
Dołączył: Feb 2017
Reputacja:
0
Czyli muszę przekonwertowac char na int... Rozumie że wpis typu
int ala = char command
nie zadziała?
Wysłane z mojego D6633 przy użyciu Tapatalka
Liczba postów: 397
Liczba wątków: 0
Dołączył: Oct 2016
Reputacja:
73
Powodem może być "Brak zakończenia linii" zamiast "Nowa linia" w monitorze portu.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
Liczba postów: 8
Liczba wątków: 2
Dołączył: Feb 2017
Reputacja:
0
Witam, czy ktoś mógłby mi wyjaśnić co oznacza [0] w "if (Command[0] == '1')" ,nie mogę znaleźć nigdzie wyjaśnienia.