как объявить собственную функцию или процедуру?

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

идея такова создать калькулятор на базе ардуино

void setup(){
  Serial.begin(9600);
}
 
void loop{
  int i = 2;
  int j = 3;
  int k;
 
  k = myMultiplyFunction(i, j); // k содержит 6
  Serial.println(k);
  delay(500);
}
 
int myMultiplyFunction(int x, int y){
  int result;
  result = x * y;
  return result;
}
это описание взято из обучения но при его компиляции выдает кучу ошЫбок!!!
в чем прокол?
Datak
Offline
Зарегистрирован: 09.10.2014

Что, вот так прямо говорит что ошыпки, и не говорит какие именно?

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

говорит что не ашыпки а еррор под номером какимто

а мне нужно сделать 4 функции сумма умножение деление и разница

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

a5_25arduino, посмотрите на  строчку с void loop  Может что-то  в этой строке не хватает?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

a5_25arduino пишет:

говорит что не ашыпки а еррор под номером какимто

А, ну тут всё ясно. Чтобы избавиться от какого-то еррора под номером каким-то, нужно сделать что-то, чтобы этот еррор не появлялся.

Datak
Offline
Зарегистрирован: 09.10.2014

Вообще, если вопрос в этом - объявлять функции принято перед тем как их использовать.

То есть, нужно или перенести функцию myMultiplyFunction выше функции loop, или оставить всё как есть, но добавить прототип (т.е. объявление) этой функции. Практически в любом месте, но, опять же, выше той строки где она вызывается.

int myMultiplyFunction(int x, int y); //       <--- вот эту строчку добавить

Компилятор почти никогда не сообщает только номер. Обычно, указывается номер строки, и даётся текстовое описание ошибки.
И ещё, насколько я знаю, в меню настройки ардуиновской среды можно попросить её выводить более подробную информацию.

File -> Preferences -> Show verbose output during compilation / upload

dimax пишет:
a5_25arduino, посмотрите на  строчку с void loop  Может что-то  в этой строке не хватает?

А, ну да, и это тоже, конечно. :)

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

вот это что-то меня и интересует!!!

у тебя это что-то есть? нету? или ты не заеш что оно у тибя есть? или ты не знеш как им пользоватьтся?

или тибе поговорить не скемЪ?

я тебя вапросами не утомил?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

a5_25arduino пишет:

void loop{

  int i = 2;
  int j = 3;
  int k;
 
}
 
Зачем это крутится в лупе? Значения же не меняются, достаточно один раз присвоить.
a5_25arduino
Offline
Зарегистрирован: 29.04.2015

ошибки такие

sketch_apr29c.ino in function 'void loop()''^:

-//- : error ''myMultiplyFunction'' was not declared in this scope

-//-: at global scope:

error expected ')'befor ';' token

error expekted unqualified - id before')'token

 

 

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

могут и меняться это ведь функция для калькулятора

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

1int myMultiplyFunction(int x, int y); //       <--- вот эту строчку добавить

так она вроде как есть?

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

исправил но всеравно осталась куча непоняток

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

ура!!! заработало!!!

всем глубокое мерси!!!

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

ошыбки было 2:

1) не хватало () после loop

2) вместо ',' поставил';'