Форум программистов, компьютерный форум, киберфорум
Наши страницы
Arduino
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
МояНеПонимай
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 2
1

С++ и Arduino

01.12.2018, 14:29. Просмотров 2081. Ответов 13

Здравствуйте.
Сразу скажу, что в теме по Arduino я новичок, но для PC писал программы и на классическом С и на С++.
Поэтому вопрос больше не про программирование конкретной задачи, а общий.
Просмотрел достаточно много текстов программ для Arduino. Практически нигде не встречаются определения классов, а если встречаются, то их применение ограничивается использованием статических объектов этих классов.
Для диалекта С++ Arduino вообще не предусмотрена работа с динамически создаваемыми объектами классов (понятия конструктор и деструктор)?
PS: Всё, написанное на С может быть скомпилировано с небольшими доработками синтаксиса компилятором (транслятором) С++ , а компилятор С программу на C++ никогда не сможет откомпилировать.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2018, 14:29
Ответы с готовыми решениями:

Модуль распознавания речи + Arduino Pro mini + Arduino MP3-Sheild
Список компонентов: 1).Модуль распознавания речи.(напряжение питания от 4,5 до 5,5 Вольт DC)...

Arduino UNO. Как работать c RFID-сканнером и Arduino на одном Serial-порту?
Рас уж тут речь зашла об ардуине и многопоточности COM порта, думаю могу обратиться именно сюда за...

Arduino uno + arduino ethernet + delphi для чайников
Доброго времени суток. У меня такая задача нужно реализовать программу на Delphi которая...

Arduino обмен данные между Arduino
Доброго времени суток, писал код обмен данных между двумя ардуинкой, отправляю из одной ардуинку...

Arduino и 3g
Есть очень интересная идея сделать управление ардуинки через беспроводной интернет (3g ) . Т.е....

13
locm
2286 / 1001 / 127
Регистрация: 28.10.2011
Сообщений: 3,380
Записей в блоге: 6
01.12.2018, 14:36 2
Сравните количество памяти в ардуино и компа и может поймете почему классы статические.
Компилятор GCC, т. е. поддерживает Си и C++.
1
marat_miaki
248 / 209 / 116
Регистрация: 08.04.2013
Сообщений: 901
01.12.2018, 15:50 3
Надеемся что это тоже читали
http://robotosha.ru/arduino/multi-tasking-arduino.html

Добавлено через 2 минуты
для динамики памяти маловато будет
1
ValeryS
Модератор
7934 / 5908 / 779
Регистрация: 14.02.2011
Сообщений: 20,333
Завершенные тесты: 1
02.12.2018, 09:50 4
Цитата Сообщение от МояНеПонимай Посмотреть сообщение
Практически нигде не встречаются определения классов,
а то , что main() отсутствует, вопросов не возникло
1
02.12.2018, 09:50
МояНеПонимай
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 2
02.12.2018, 19:43  [ТС] 5
Не знаю хорошо это или плохо, но отсутствие main() не напрягло...
0
Valakin
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
05.12.2018, 12:15 6
а можно ли устроить проводную связь с андроид телефоном? чтоб надежно было
На java и творить объекты с нормальным количеством памяти
0
kcalbCube
15 / 13 / 4
Регистрация: 16.08.2018
Сообщений: 118
Завершенные тесты: 4
09.12.2018, 09:39 7
Цитата Сообщение от МояНеПонимай Посмотреть сообщение
Не знаю хорошо это или плохо, но отсутствие main() не напрягло...
main() есть, но он скрыт и вызывает setup() и в бесконечном цикле loop(), можно даже добавить свою функцию, которая бы работала после loop() но это логично.
0
Avazart
Эксперт С++
7972 / 5794 / 571
Регистрация: 10.12.2010
Сообщений: 26,642
Записей в блоге: 17
09.12.2018, 15:26 8
Я заметил такие отличия:
  1. В отличии от обычного С++, ф-ции не требуются пред-объявлений (в файле *.ino)
  2. Ф-ции с параметрами по умолчанию не работают нормально.
0
Mirmik
techpriest
631 / 210 / 57
Регистрация: 27.02.2014
Сообщений: 1,159
14.12.2018, 12:24 9
За средой ардуино висит avr-g++ и набор библиотек.

Неправильно думать, что Ардуино - диалект с++. Ардуино это и есть с++.
0
Avazart
Эксперт С++
7972 / 5794 / 571
Регистрация: 10.12.2010
Сообщений: 26,642
Записей в блоге: 17
14.12.2018, 15:50 10
Да и тем не менее отличия есть.
0
ValeryS
Модератор
7934 / 5908 / 779
Регистрация: 14.02.2011
Сообщений: 20,333
Завершенные тесты: 1
14.12.2018, 16:52 11
Цитата Сообщение от Mirmik Посмотреть сообщение
Ардуино это и есть с++
и какой стандарт она поддерживает?
0
Mirmik
techpriest
631 / 210 / 57
Регистрация: 27.02.2014
Сообщений: 1,159
14.12.2018, 17:04 12
В силу отсутствия стандартной библиотеки - никакой.
Но, строго говоря, при использовании микроконтроллеров далеко не везде встречается поддержка стандартной библиотеки. (ИМХО, это промах дизайна стандарта, что стандартная либа вписана в основной стандарт языка, но да не о том речь).

Так что, нарушение стандарта с++ не делает ситуацию уникальной. А компилятор там - самый обыкновенный g++.
0
ValeryS
Модератор
7934 / 5908 / 779
Регистрация: 14.02.2011
Сообщений: 20,333
Завершенные тесты: 1
14.12.2018, 17:14 13
Цитата Сообщение от Mirmik Посмотреть сообщение
В силу отсутствия стандартной библиотеки - никакой.
я спросил про стандарт, а не про библиотеки
Цитата Сообщение от Mirmik Посмотреть сообщение
А компилятор там - самый обыкновенный g++.
а до компилятора ничего не происходит? т.е компилятор сразу берет исходник, без main, и начинает компилить
или все таки кто то приводит этот исходник в приличный вид
и кто создает make ?
0
Mirmik
techpriest
631 / 210 / 57
Регистрация: 27.02.2014
Сообщений: 1,159
14.12.2018, 17:25 14
ide ардуино производит некоторые действия. Но по сути, кроме подстановки тела main.cpp, ничего значительного не происходит.
0
14.12.2018, 17:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2018, 17:25

Arduino
Arduino: 1.8.0 (Linux), Плата:"Arduino Pro or Pro Mini, ATmega328 (3.3V, 8 MHz)" Скетч...

Arduino C#
Написал программу на шарпе, описывающее текущее состояние входной двери. Не имею ардуино, пишу...

Arduino и фоторезистор
Здравствуйте подскажите пожалуйста, имеется Arduino Uno и фоторезистор (фото во вложениях), скетч...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.