Привет всем. Появилась идея сделать устройсво на Arduino Nano + MPU-6050(акселерометр). Примеры завелись и все ок. Теперь все упирается в код. Вопрос заключается в том, что лучше использовать arduino или голый мк (имеется еще Mini c atmega168, который можно выпаять, а в качестве программатора использовать другой arduino). Хотелось бы иметь отладку кода, а для ардуины есть только Visual Micro с платным дебагером. Как я понял, саму атмегу можно отлаживать, но я не в курсе как все подключать, прошивать и чем для этого придется пожертвовать. Стоит ли отказываться от arduino и пересаживаться на голый avr?
Еще есть мысли, сначала использовать arduino только для снятия информации с датчика, а всю логику писать на удобном для меня JS, и только потом переписывать код на c++, и делать мк самостоятельным (или это бред?).
ps Ничего не смыслю в мк и в схемотехнике, но много пишу на JS.
Yadro писал(а):Хотелось бы иметь отладку кода, а для ардуины есть только Visual Micro с платным дебагером.
Тогда покупать лицензию на дебаг. Ну или найти кряк
Yadro писал(а):Как я понял, саму атмегу можно отлаживать, но я не в курсе как все подключать, прошивать и чем для этого придется пожертвовать. Стоит ли отказываться от arduino и пересаживаться на голый avr?
Нужен вам дебагер для этого. Никогда не интересовался, может быть, есть на просторах интернета проект самодельного дебагера. В противном случае, надо покупать железяку за десятки $. У ее будет перечень сред разработки, которые ее поддерживает. Будет ли там что-то, что позволит вам писать код на java? Нет. Обычно это голый C или скрипты на его основе.
Java очень тяжела для AVR. Только однажды я видел урезанную до безобразия версию для AVR. http://www.harbaum.org/till/nanovm/index.shtml
Также дебажить можно при помощи uart или светодиодов. Просто в нужных местах кода, выдаете сообщения в канал или мигаете/зажигаете/тушите светодиоды. Часто применяется на МК при отладке кода в реальном времени, когда остановить выполнение программы невозможно. Например, при отладки устройств в беспроводных сетях Bluetooth или ZigBee. Немного муторно, но на безрыбье и рак рыба...
eess9 писал(а): что позволит вам писать код на java
JS (JavaScript) и Java это разные вещи. (да gcc может и java собрать в бинарный код для целевой системы).
Yadro писал(а):Вопрос заключается в том, что лучше использовать arduino или голый мк
Переходить на голый Си имеет смысл если вас не устраивает язык ардуино (Processing) используется обычный C++ и спрятаны некоторые конструкции от разработчика. (типа функции main и включения заголовочных файлов).
да наверное легче использовать процессинг и через последовательный порт тягать данные (node должен это уметь где то видел) и вы сможете писать на js.
зы так и называется "serialport"
зызы если в иде ардуины зайти в терминал порта то он перед отображением дергает DTR на землю перезагружая мк (на хабре ноют что это сильно мешает и допиливают платы впаивая в нее дополнительные емкости ) если вы будете использовать node то для перезагрузки мк вам придется руками дергать этот провод (в смысле программно) я уж не знаю от чего это зависит но половина разработчиков на оной плате бесятся от этого но по нормальному не разобрались... (ну или я слишком заумный)
================
ага это я слишком заумным оказался! я пользуюсь питоном и установив себе serialport либу я сразу ее исправил и запретил ей пользоваться проводом DTR что позволяет не перезагружать мк а как будет в js не знаю.
Последний раз редактировалось DronVolk Пт ноя 06, 2015 12:08:36, всего редактировалось 2 раза.
Спасибо за ответы. Значит буду дебажить через serial print. Кстати, DronVolk, google chrome тоже умеет работать с com портом.
Да, и кто какую ide использует, из того что нашел это Atmel Studio или Visual Studio + VisualMicro, какая лучше для программирования под arduino?
Последний раз редактировалось Yadro Пт ноя 06, 2015 07:41:03, всего редактировалось 1 раз.
Для ардуины... евойную среду и отладку через serial, если мегапроекты не писать вполне хватает
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Одноименная среда))) В ней и используется Processing. Если нужно по ближе к железу то плата прошивается через avrdude (одноименная среда ей пользуется) а код пишется в студии атмела (у них на сайте). Только уже разница в том что вам придется работать с железом и регистрами из Си или не придется забивать голову если используется Processing)))
ну для проверки евоная среда как раз и уже дальше используют голый мк и Си/Ассемблер.
я например брал плату потому что уже все распаяно и стоит 120 рублей (дешевле самого мк у меня в городе) китайцы все развели и распояли))) Пишу на Си и прошиваю через дудку (да не пользуюсь студией а консолью для сборки)
зы тут почти все коты чтят datasheet как библию но как мне ответили в atmel еще и в st что этот документ является рекомендацией по использованию. В нем указанны протестированные данные (и по этой причине 0 ячейка avr EEPROM битая над ней издеваются во всем диапазоне температур и напряжений) на самом деле все мк могут больше только тестирование ведет к удорожанию конечной стоимости. (некоторые пользователи ARM заметили что на одинаковых кристалах с "разной памятью" она одинаковая и ST комментирует это тем что они выполняются по одной маске просто тестируют не всю память на некоторых кристалах )
зы у меняу питон и либа serialport я ее исправил как установил и запретил пользоваться проводом DTR (мк не перезагружается).
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Yadro писал(а):
Что значит евойная среда?) Если подразумевается Arduino IDE, то это и не иде вовсе.. А мегапроекты на ардуине похоже не пишутся :/
Ну создатели ее позиционируют как то так. Если ардуина используется просто как плата с мк - тогда это конечно не нужно, а мне для поделий оно и в концепции ардуино нравится, бывает что потом на stm32-ардуине запускаю скетч и ведь работает после небольшого допиливания, в более специализированных средах под определенный мк это заняло бы больше времени наверняка. Конечно не без костылей, когда надо ногами быстро дергать - приходится дергать напрямую и всякое такое.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /