• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wprowadzanie danych do programu
#1
Witam, mam problem, gdyż nie mogę wprowadzić parametrów do programu, gdyż program nie czeka na wpisanie przez użytkownika wartości, tylko pobiera ją od razu po wyświetleniu polecenia. Podpowiecie w którym miejscu robię błąd? Tymczasowo ominąłem program komendą delay(), ale nie zadowala mnie ta opcja, gdyż jest sprzeczne z naturalną reakcją.
Kod:
void silnik() {

  //***********************Pobieranie danych od użytkownika***************************************************//

  char kierunek = '0';
  char sterowanie = '0';
  unsigned long kroki = 0;
  unsigned long predkosc = 0;
Serial.print("\n\nPodaj tryb sterowania silnika:\n1. Falowe\n2. Pełnokrokowe\n3. Półkrokowe\n");

  delay(10000);
  if (Serial.available() > 0)
    sterowanie = (char)Serial.read();
  delay(1500);
  Serial.print(sterowanie);

  Serial.print("\n\nPodaj kierunek obrotu:\n1. Zgodnie z ruchem wskazówek zegara\n2. Przeciwnie do ruchu wskazówek zegara\n");
  delay(10000);
  if (Serial.available() > 0)
    kierunek = (char)Serial.read();
  delay(1500);
  Serial.print(kierunek);

  Serial.print("\n\nPodaj opóżnienie między krokami silnika:\n");
  delay(10000);
  if (Serial.available() > 0)
    predkosc = (Serial.readString()).toInt();
  delay(1500);
  Serial.print(predkosc);

  Serial.print("\n\nPodaj liczbę kroków silnika:\n");
  delay(10000);
  if (Serial.available() > 0)
    kroki = (Serial.readString().toInt());
  delay(1500);
  Serial.print(kroki);
}
 
Odpowiedź
  


Wiadomości w tym wątku
Wprowadzanie danych do programu - przez albert81a - 16-02-2018, 18:37
RE: Wprowadzanie danych do programu - przez kaczakat - 17-02-2018, 22:39

Skocz do:


Przeglądający: 1 gości