• 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
Błąd w funkcji warunkowej
#1
Pomoże ktoś określić gdzie robię błąd w funkcji warunkowej ;
Kod:
void setup() {
pinMode (13, INPUT_PULLUP);
pinMode(A5, OUTPUT);  

 

}

void loop() {
if (digitalRead(13) == HIGH )  
{
 tone(A5, 4300);   
 delay(150);  
 tone(A5, 3500);
 delay(150);
 else (digitalRead(13) == LOW ){
   noTone(A5)}
}

}
 
Odpowiedź
#2
Witam,
Przy else nie może być warunku (tylko przy if-ie). Czyli:
} // tu klamra od if-a
else noTone(A5);
// tu bez klamry
Pozdrawiam.
 
Odpowiedź
#3
(19-01-2017, 18:53)Smaczek napisał(a): Witam,
Przy else nie może być warunku (tylko przy if-ie). Czyli:
}  // tu klamra od if-a
else noTone(A5);
// tu bez klamry
Pozdrawiam.

Nie wiem czy o to chodziło , bo jeżeli tak to nadal błąd kompilacji .
Kod:
void setup() {
pinMode (13, INPUT_PULLUP);
pinMode(A5, OUTPUT);  

 

}

void loop() {
if (digitalRead(13) == HIGH )  
{
 tone(A5, 4300); //Wygeneruj sygnał o częstotliwości 4300Hz na pinie A5  
 delay(150);  
 tone(A5, 3500); //Wygeneruj sygnał o częstotliwości 3500Hz na pinie A5  
 delay(150);
}
 else noTone(A5)
   
}

}
 
Odpowiedź
#4
O jedną klamrę zamykającą za dużo masz na moje oko. Przelicz sobie klamry dla loop'a.
Moim zdaniem powinno być tak o ile to jedyny błąd:
Kod:
void setup()
{
pinMode (13, INPUT_PULLUP);
pinMode(A5, OUTPUT);  
}

void loop()
{
  if (digitalRead(13) == HIGH )  
  {
  tone(A5, 4300); //Wygeneruj sygnał o częstotliwości 4300Hz na pinie A5  
  delay(150);  
  tone(A5, 3500); //Wygeneruj sygnał o częstotliwości 3500Hz na pinie A5  
  delay(150);
  }
  else
  {
    noTone(A5)
  }
}

Na następny raz wrzuć też komunikaty o błędach.
 
Odpowiedź
#5
(19-01-2017, 19:56)mati12_14 napisał(a): O jedną klamrę zamykającą za dużo masz na moje oko. Przelicz sobie klamry dla loop'a.
Moim zdaniem powinno być tak o ile to jedyny błąd:
Kod:
void setup()
{
pinMode (13, INPUT_PULLUP);
pinMode(A5, OUTPUT);  
}

void loop()
{
 if (digitalRead(13) == HIGH )  
 {
 tone(A5, 4300); //Wygeneruj sygnał o częstotliwości 4300Hz na pinie A5  
 delay(150);  
 tone(A5, 3500); //Wygeneruj sygnał o częstotliwości 3500Hz na pinie A5  
 delay(150);
 }
 else
 {
   noTone(A5)
 }
}

Na następny raz wrzuć też komunikaty o błędach.

Nadal błąd :

sketch_jan19b.ino: In function 'void loop()':
sketch_jan19b.ino:19:3: error: expected ';' before '}' token
Błąd kompilacji.
 
Odpowiedź
#6
(19-01-2017, 22:07)maniolx napisał(a):
(19-01-2017, 19:56)mati12_14 napisał(a): O jedną klamrę zamykającą za dużo masz na moje oko. Przelicz sobie klamry dla loop'a.
Moim zdaniem powinno być tak o ile to jedyny błąd:
Kod:
void setup()
{
pinMode (13, INPUT_PULLUP);
pinMode(A5, OUTPUT);  
}

void loop()
{
 if (digitalRead(13) == HIGH )  
 {
 tone(A5, 4300); //Wygeneruj sygnał o częstotliwości 4300Hz na pinie A5  
 delay(150);  
 tone(A5, 3500); //Wygeneruj sygnał o częstotliwości 3500Hz na pinie A5  
 delay(150);
 }
 else
 {
   noTone(A5)
 }
}

Na następny raz wrzuć też komunikaty o błędach.

Już rozwiązane .
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości