Размышления: IDE для Arduino / Wiring vs Pure C

Тема в разделе "Флудилка", создана пользователем Rx, 17 сен 2012.

?

Я предпочитаю:

  1. Wiring

    18 голосов
    56,3%
  2. Pure C

    14 голосов
    43,8%
  1. totuin

    totuin Нерд

    Я не профессиональный программист. С типами лицензий до сих пор не разобрался. Да и язык очень специфичный - SmallTalk. в России я думаю всего человек 10 на нём работают. Но с моуй точки зрения - это самый удобный язык, обеспечивающий максимальную скорость разработки.
     
  2. titov_andrei

    titov_andrei Нуб

    "Велосипедированием" часто заставляют заниматься Заказчики, да и Исполнителям это может быть выгодно!
     
    Rustem нравится это.
  3. Nedd

    Nedd Нуб

    А не подскажете литературы по изучению С в рамках программирования микроконтроллеров?
    Например пример с blink был нагляден и весьма убедителен.
     
  4. Rustem

    Rustem Нуб

    Статья хорошая. Для меня как раз и полезна.
    Программированием я так. балуюсь (не профессионал, не давно начал изучать), изредка:), подсветочку на RGB светодиодах сделал на атмеге, кодовый замочек с одной кнопочкой :), ... для разовых, простых проектов среды ардуины вполне хватает, да и когда ресурсов МК в избытке для поставленной задачи. Но совсем зеленым советую найти даташит к МК (если не знаете английский, то найдите на русском, пусть к atmege 8), почитайте. После прочтения, станет понятно, что на чистом Си выжать из МК можно на порядок больше. Тут и счетчики вам, и прерывания, и таймеры.
    Но в ардуине я получил работающую прогу с ШИМ где-то за час (и то из-за незнания синтаксиса :) провозился). В atmelstudio же я несколько вечеров по часа 1-2 внмательно читая даташит на микруху и хелпы к СИ только разобрался более менее как просто настроить порты и счетчики чтобы получить работающий выход ШИМ. Но если работать профессионально. то наверно все-таки не arduino.ide :), а для поделок arduino.ide покатит.
     
  5. Megakoteyka

    Megakoteyka Оракул Модератор

    Rustem, в Arduino IDE на самом деле используется тот же самый С++, просто немного изменена структура программы для простоты и подлючен базовый набор библиотек, так что там тоже можно обращаться напрямую к регистрам и настраивать любую периферию как угодно.
     
    ostrov и Rustem нравится это.
  6. releyshic

    releyshic Нерд

    самуюглавную среду забыл
    Atmel Studio
     
  7. ostrov

    ostrov Гуру

    Вот самый правильный ответ, пожалуй.
    Это и есть Pure C, C++ с кучей дополнительных инструментов (подключаемых). Компилятор у него один в один как в Arduino IDE с опцией -Os.
     
  8. Megakoteyka

    Megakoteyka Оракул Модератор

    CodeVision AVR еще.
     
  9. ostrov

    ostrov Гуру

    Вот честно несколько раз пытался у ним поработать. Так и не смог заставить себя его полюбить. Единственное ради чего стоит держать это подсказки по разным настройкам. Да и то спорно. Может быть я не правильно его юзаю.
     
  10. Vad33

    Vad33 Капитан-оригинал

    Новые вариации старых холиваров, на тему "что лучше C или ASM". :)
    А я видел человека, который мог сразу в машинных кодах с ЭВМ общаться
    через терминал. Правда память тогда была маленькая, а машины БОЛЬШИЕ.

    Мир все время идет по пути усложнения, уже нет времени паять схемы
    детекторных приемников, транзисторных приемников, даже простейшей
    логики. Сразу стартуют с контроллеров и компьютеров. И это оправдано,
    ведь время - самый ценный ресурс.
    Так что, каждый в зависимости от опыта входит в эту область на каком то
    уровне, а затем от задач и от желания уже думает куда ему двигаться
    вверх или вниз и выбирает свою нишу и приоритеты. А на пороге уже
    новые технологии. Время то не ждет, пока все изучишь.

    p.s. А по теме. Сейчас для большинства проектов хватает "стандартной
    комплектации". Иногда проще и быстрей взять контроллер помощней,
    чем изучать все изыски оптимизации. Тем более, думаю, не за горами
    переход на другую платформу. Главное научиться учиться, а информация
    - это расходный материал.
     
    Последнее редактирование: 1 мар 2016
  11. Unixon

    Unixon Оракул Модератор

    Для начала неплохо бы некоторым товарищам обрести понимание, что среда разработки (Arduino IDE, Atmel Studio, CodeVisionAVR и т.д.), стандартная библиотека (libc, Wiring), язык программирования (C/C++), его компилятор и весь остальной тулчейн (GCC, SDCC, ...) это разные сущности, которые частично связаны, но могут в разных комплектах меняться независимо.
     
  12. Vad33

    Vad33 Капитан-оригинал

    Не создавай новых сущностей без необходимости. (с)
     
  13. Unixon

    Unixon Оракул Модератор

    Они уже есть :)
     
  14. Vad33

    Vad33 Капитан-оригинал

    Там еще много уровней сущностей. Имелось в виду в голове. :)
    Знание принципов освобождает от знания мелочей.
     
    Последнее редактирование: 1 мар 2016
  15. ostrov

    ostrov Гуру

    CodeVizion на каком то другом ядре. Там, например, легально PORTB.2 = ..., чего GCC не понимает. Ну и всякое другое типа delay_ms() вместо _delay_ms().
     
    Последнее редактирование: 1 мар 2016
  16. Unixon

    Unixon Оракул Модератор

    Ну, там свой компилятор, который понимает только C, но не C++, и не совсем понятно, какому стандарту языка он соответствует. Видимо, никакому. Про доступ к битам не написано даже в документации. Там своя базовая библиотека, из-за этого "delay_ms()".
     
  17. ostrov

    ostrov Гуру

    Ну и вот зачем эта самодеятельность? Чтобы не скучно было?
     
  18. Unixon

    Unixon Оракул Модератор

    Закрытое коммерческое решение, приятные уху слова "vendor lock"... :D
     
  19. qqweq77

    qqweq77 Нуб

  20. qqweq77

    qqweq77 Нуб

    Хорошая и полезная статья!Если честно,то никакой разницы межу CodeBloks и Arduino не заметил)))Хотя,первая понравилась сразу )))Должны быть обе та ,что попроще для быстрого наброска макета,а та,что с МК общается через регистры для критических участков кода...Но есть свое мнение,что даже работая на asm вряд ли известны все команды и все регистры,разработчики всегда чего-то недоговаривают..нужна своя платформа на базе своего МК и со своей системой команд в первом приближении совместимы с AVR или хотя бы с ардуиной...Можно и по-другому ,-сделать автоматический оптимизатор кода для то й же ардуины..Т.Е. программа пишется на высокоуровневом ардуино-языке без привязки к железу,а потом под конкретную плату все это компилируется ...В любом случае статья полезная и интересная,особенно не программистам))))