Skocz do zawartości

Problem programistyczny w Arduino.


Pomocna odpowiedź

Napisano

Witam,
Pierwszy raz wiec proszę o wyrozumiałość.

A mianowicie.

-----

C:\Users\Marek\Documents\Arduino\samochod_IR_echo\samochod_IR_echo.ino: In function 'void loop()':

samochod_IR_echo:69: error: expression cannot be used as a function

prawo();

------

w void loop()chce się odwołać do funkcji prawo() i zwraca mi błąd.

Funkcja prawo() leży na końcu programu poza klamrami od loop-a.

Co robię źle?

Dziękuje za pomoc

Cześć, nie znam się na Arduino jakoś mocno więc może nie trafię, ale w pracy trochę zajmuję się programowaniem.

Czy funkcja prawo() jest rzeczywiście zaimplementowana na końcu jak funkcja, czy zawiera wszystkie wymagane elementy? Bo na to wskazywałby komunikat. "Wyrażenie nie może zostać użyte jako funkcja."

czyli

void prawo()
{
//jakiś tam kod od robienia "prawo"
}

Może brakuje nawiasu klamrowego, średnika, nawiasów po "prawo" albo funkcja loop() omyłkowo zawiera implementację funkcji prawo() (loop() zamyka się za późno (przesunięty nawias klamrowy)). Może implementujesz funkcję "Prawo()" a wywołujesz "prawo()"? Trudno o poprawki bez patrzenia na kod.

Język Arduino jest kompilowany, a nie interpretowany po lini, a IDE Arduino i tak wrzuca funkcję dodatkowe przed setup() i loop() zanim skompiluje więc miejsce nie ma znaczenia.

Funkcja musi być zdefiniowana zanim będzie użyta, tak jak Elvis napisał.

Zresztą, chyba niepotrzebnie strzępimy języki, bo autor nie dostał odpowiedzi w 10 sekund, więc sobie poszedł gdzieś indziej.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...