Serial.Print() в присоединенном файле
- Войдите на сайт для отправки комментариев
Сб, 06/10/2018 - 17:38
Прошу подсказать, как вызвать функцию Serial.Print() в присоединенном файле.
Папка a1
скетч a1.ino
его содержимое
//==========================================================
char p = 32;
extern "C" void mfunc(void);
void setup()
{
Serial.begin(9600);
}
//==========================================================
void loop()
{
mfunc();
Serial.write(p);
}
//==========================================================
присоединенный файл a1.c
extern char p;
void mfunc(void)
{
p++;
//Serial.write(p);
}
Суть проблемы - ежели выводить в порт в основном цикле, все работает
если же выводить в присоединенном файле (раскомментировать строку),
обижается, и пишет, что 'Serial' undeclared.
первой строчкой в "присоединённом" файле.
Справа вверху в окошечке добавить файл пробовали?
Кстати файлы почему-то добавляются с расширением ino.......
Спасибо, разобрался
Кстати, добавление #include <Arduino.h> не помогает
Спасибо, разобрался
Кстати, добавление #include <Arduino.h> не помогает
И что же именно помогло, кстати?
Помогло переименование присоединённого файла.
Я его назвал a11.ino, и все заработало.
Помогло переименование присоединённого файла.
Я его назвал a11.ino, и все заработало.
Ахренеть :))))) Ну то есть ты не разобрался, как работать с *.c/*.cpp-файлами? Ну оно тебе, видимо, и не надо. Забей.
Не надо Ахреневать, ты еще будешь нужен родине и семье.
Присоединенный файл с расширением .с содержит код, сделаный в AVRStudii №4.19.
Все прекрасно работает, классы там не нужны, обычный СИ.
Ну и захотелось еще и в компорт вывести информацию. Сервис, тысызыть...
Попробовал, там то и возникла проблема (уже решенная).
Присоединенный файл с расширением .с содержит код, сделаный в AVRStudii №4.19.
видимо не тобой код то сделан, если ты #include добавить не осилил
Повторяю, добавление #include <Arduino.h> первой строчкой в "присоединённом" файле
Повторяю, добавление #include <Arduino.h> первой строчкой в "присоединённом" файле
Проверил - действительно, ругается. Это потому, что файлы с расширением "*.c" средой обрабатываются не так, как с расширением "*.cpp". Вариант полечить, не переименовывая в *.ino - переименовать в *.cpp.
Строго говоря, IDE права: раз у нас Serial - это объект класса, то и из *.c-файла - ничо не знаю, никаких таких классов.
Проверил - действительно, ругается. Это потому, что файлы с расширением "*.c" средой обрабатываются не так, как с расширением "*.cpp". Вариант полечить, не переименовывая в *.ino - переименовать в *.cpp.
Строго говоря, IDE права: раз у нас Serial - это объект класса, то и из *.c-файла - ничо не знаю, никаких таких классов.
Да, похоже, что IDE так себя и ведет.
Чистые СИ шные функции, в том числе взятые из AVR-студии, надобно размещать в файле с расширением с.
Ежели надо использовать что-то вроде Serial, размещать в файле с расширением ino.
Ну а расширение cpp оставить для библиотек с классами.
Коктейль "АРДУИНАсАВРСТУДИЕЙ" - неплохо.
Ежели надо использовать что-то вроде Serial, размещать в файле с расширением ino.
Неверно.
Файл .ino в проекте должен быть только один, иначе рано или поздно вы столкнетесь с глюками компиляции. А "что-то вроде Serial" размещайте в файлах .cpp.
Неверно.
Файл .ino в проекте должен быть только один, иначе рано или поздно вы столкнетесь с глюками компиляции. А "что-то вроде Serial" размещайте в файлах .cpp.
Папка a1, в ней два файла - a1.ino (главный) и a11.ino (присоединенный).
Глюков не вижу.
Скорее всего кто "главный" файл определяется по названию папки.
Да, папка и главный файл должны иметь одинаковое имя.
И вот еще один рабочий проектик, папка a02