Помогите, затуп!

Surv
Offline
Зарегистрирован: 11.09.2014

не могу использовать стандартные функции Arduino. Например, Serial.

пример: создаю библиотеку Hello.cpp

#include <avr/io.h>
#include "hello.h"
 
void Hello()
{
  Serial.println("Hello");
}
 
из скетча вызываю :
loop
{
  Hello();
}
 
компилятор выдает: \Arduino\libraries\Hello\hello.cpp:7: error: 'Serial' was not declared in this scope
 
Почему???
JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

потому что нет функции Serial в io.h?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

JollyBiber пишет:

потому что нет функции Serial в io.h?


Солнце еще высоко. Не отвлекайтесь.

Surv
Offline
Зарегистрирован: 11.09.2014

Окей, в корне программы (в скетче) никаких доп библиотек не нужно подгружать. В чем причина? Понятно, что не только в Serial дело-то. Просто этот пример сам для себя делал, разбираюсь... И, подскажите, плиз, какая библиотека? 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Посмотрите, для начала, стандартные примеры, идущие с ArduinoIDE.

Surv
Offline
Зарегистрирован: 11.09.2014

Народ, а просто ответить - сложно? М? Наверное, просмотрел простые примеры. Наверное, скачал пару-тройку. И в их тело вставил свое необходимое. Там работает. Делаю с "нуля" - болты. Нужна суть - понять почему так.

leshak
Offline
Зарегистрирован: 29.09.2011

Surv пишет:

Окей, в корне программы (в скетче) никаких доп библиотек не нужно подгружать. 

Потому что "в корне программы" пишут чайники. Которые, на старте ничего про существование библиотек могут и не знать. Им нужно что-бы "все сразу запустилось из коробки". Поэтому базовые библиотеки, ардуиноIDE подключает к главному скетчу сама.
А если вы столь умный, что знаете что такое .cpp, .h и можете их сами написать, то.... сами обо всем и беспокойтесь. Никакой "ардуино магии", в них уже нет. Честный c/c++ . Что написали - то и будет. Сами обязаны следить что-бы все что используется было объявлено.
В конце концов, если уж взялись за "писать библиотеку", то может имеет смысл посмотреть в сущеcтвующие библиотеки? 

Вообщем:

1. Научитесь вставлять код на форум
2. Что это за "обрывки кодо-мысли?". Что это loop() без void?  В конце концов, если хотите что-бы вам помогли, то может стоит постараться, что-бы другим можно было воспроизвести у себя вашу проблему как можно меньшими усилиями?

3. #include "arduino.h"

Surv
Offline
Зарегистрирован: 11.09.2014

Спасибо. Непривычно, что в скетче все подгружается автоматом, после C Builder сложности))

leshak
Offline
Зарегистрирован: 29.09.2011

Surv пишет:

Спасибо. Непривычно, что в скетче все подгружается автоматом, после C Builder сложности))

Угу. И функции main() - не видно. А она есть :)