11-11-2025, 21:43
int number;
void setup() {
Serial.begin(9600);
}
void loop() {
number = 0;
Serial.flush();
while(Serial.available() == 0){
}
while(Serial.available() > 0){
number = Serial.read() - '0'; //odczytuje liczbę z bufora portu szeregowego
//usuwa przesunięcie ASCII dla zera: '0'
}
Serial.print("Wpisana liczba: ");
Serial.println(number);
Serial.print(number);
Serial.print(" pomnożone przez dwa równa się ");
number = number * 2;
Serial.println(number);
delay(1000);
}
To wyświetla mi się po uruchomieniu programu i wpisaniu liczby 3.
Skąd bierze się to -38? Wyczytałem, że rejestrowane jest też wciśnięcie przycisku ENTER, ale jakim prawem odczytuje liczbę dwa razy?
Jak to naprawić?
Wpisana liczba: 3
3 pomnożone przez dwa równa się 6
Wpisana liczba: -38
-38 pomnożone przez dwa równa się -76
void setup() {
Serial.begin(9600);
}
void loop() {
number = 0;
Serial.flush();
while(Serial.available() == 0){
}
while(Serial.available() > 0){
number = Serial.read() - '0'; //odczytuje liczbę z bufora portu szeregowego
//usuwa przesunięcie ASCII dla zera: '0'
}
Serial.print("Wpisana liczba: ");
Serial.println(number);
Serial.print(number);
Serial.print(" pomnożone przez dwa równa się ");
number = number * 2;
Serial.println(number);
delay(1000);
}
To wyświetla mi się po uruchomieniu programu i wpisaniu liczby 3.
Skąd bierze się to -38? Wyczytałem, że rejestrowane jest też wciśnięcie przycisku ENTER, ale jakim prawem odczytuje liczbę dwa razy?
Jak to naprawić?
Wpisana liczba: 3
3 pomnożone przez dwa równa się 6
Wpisana liczba: -38
-38 pomnożone przez dwa równa się -76

