Arduino Polska Forum

Pełna wersja: problem z kodem
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Siema,
Jestem całkiem świeży w środowisku Arduino i mam pytanie odnośnie mojego kodu:

Program pobiera liczbę od użytkownika i ją wypisuje, problem polega na tym, że jak np wpisuje liczbę 1 to w terminalu wypisuje dwie liczby: 49 oraz pod nią 10. Nie wiem na czym polega błąd prosiłbym o pomoc Smile

tutaj kodzik:
//zmienna liczbowa do przechowywania danych odebranych przez port szeregowy
int x = 0;
 
void setup()
{
   Serial.begin(9600);
}
 
void loop() {
 
        // sprawdzanie czy są dostępne nowe dane do odczytania
        if (Serial.available() > 0) {
                //przypisywanie do zmiennej odczytanego bajtu
                x = Serial.read();
 
                // wypipsywanie otrzymanych danych
                Serial.print("Otrzymano: ");
                //wypisanie przelanych danych
                Serial.println(x);
        }
}
Powinieneś umówić się z samym sobą na odbieranie linii tekstu, złożyć z niej napis i wydrukować. Poczytaj o kodach ASCII, ich odwzorowaniu w bajtach, co się stanie jeśli liczbę wielkości bajta zapiszesz do zmiennej int i wydrukujesz? Raczej nie będzie to literka. Literkę wysyłasz, odbierasz jako liczbę i wysyłasz z powrotem jako liczbę.
Tymczasem ten program robi dokładnie to co mu kazałeś.
49 to w ASCII właśnie 1, a 10 to LF - line feed/nowa linia.