Среда программирования Algorithm Builder

Автор: | 29.01.2010

Заставка БилдераЕсли две предыдущие программы я рекомендовал как оптимальный вариант для начала работы с электроникой вообще и микроконтроллерами в частности, то эта программа лишь мое личное предпочтение и честно говоря, для повторения конструкций с этого ресурса она Вам не понадобится. Но не упомянуть приятную во всех отношениях программу я не могу.


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

Автор программы Геннадий Громов.
Сайт программы www.algrom.net

Итак что имеет Algorithm Builder в своем арсенале?
Полный цикл разработки. Algorithm Builder предназначен для производства полного цикла разработки начиная от ввода алгоритма, включая процесс отладки и заканчивая программированием кристалла.

Algorithm Builder довольно нетрадиционная программа в плане языка программирования. Автор немного лукавит, называя программу Построителем Алгоритмов. На самом деле, алгоритма, в привычном понимании этого слова, нет. Есть ассемблер, завернутый  в красивую обертку визуального программирования. Правильнее было бы назвать программу – визуальный ассемблер или построитель ассемблера. А раз это ассемблер то Вы получите на выходе максимально эффективный код.

Окно переменныхРабота с переменными и константами организована гениально просто. Инициализация производиться в отдельном окне в виде таблицы – освобождая алгоритм от лишних записей. В буквальном смысле слова все разложено по полочкам. Удобно иметь в любой момент под рукой перечень всех переменных и констант.

Настройщик периферии. Algorithm Builder имеет удобный настройщик периферии (таймеры, UART, ADC, SPI и т.д.) позволяющий, не читая даташитов, просто выбрать необходимые параметры работы устройства в окне настройки. В этом же окне Билдер честно покажет набор инструкций, обеспечивающих эти параметры.

Главное окноПереходы осуществляются в программе очень наглядно – вектором. Если нужно перейти по условию в какую либо точку программы – просто проведите вектор в эту точку. Это освобождает программу от бесчисленных имен меток, которые в классическом ассемблере являются неизбежным балластом. Переходы по именованным меткам так же возможны.

Внутрисхемное программирование кристалла. При использовании внутрисхемного программатора микроконтроллер подключается к COM порту компьютера через несложный адаптер (три диода и несколько резисторов).Также есть вариант USB подключения. Программатор ведет подсчет числа перепрограммирований кристалла, сохраняя счетчик непосредственно в кристалле. Процесс программирования кристалла очень прост — в два «тыка».

Мониторная отладка на кристалле. Algorithm Builder обеспечивает мониторную отладку на кристалле (On Chip debug) которая позволяет наблюдать содержимое реального кристалла в заданной точке останова. При этом для связи микроконтроллера с компьютером используется только один вывод, причем по выбору пользователя. Мониторная отладка может быть применена к любому типу кристалла, имеющего SRAM. Это софтверный вариант debugWIRE. Я без этой штуки просто не представляю себе отладку программ.

Так почему такая хорошая программа так малоизвестна?
Первая причина — программа до 2010 года была платной. Бесплатная демоверсия имела полную функциональность, но ограничивала код откомпилированной программы до 2 килобайт. В 2010 году автор программы сделал новогодний подарок – версия 5.43 вышла свободной от ограничений.
Вторая причина — отсутствие поддержки программы. Вы не найдете ни одного апнота производителя в котором бы использовался Билдер. Интернет ресурсы, посвященные данной программе, можно пересчитать по пальцам.
Жаль, конечно – программа действительно интересна.

Выводы:
Ассемблерщики при переходе на Algorithm Builder будут писать кипятком, так как они будут иметь все тот же ассемблер, но управляться им станет на порядок легче и наглядней. Одно плохо – придется распрощаться с наработанными библиотеками и писать новые.
Сишникам однозначно Билдер не понравится, так как придется опускаться до уровня ассемблера, а какому сишнику понравится возюкаться с регистрами.
Наверное, наилучшая целевая аудитория — начинающие осваивать микроконтроллеры. Программа проста и поэтому будет легко осваивать программирование.
В общем, конечно, выводы получились неоднозначные. Думайте сами… 🙂

Программа имеет мануал, написанный в форме обучающей статьи. В мануале рассмотрено создание простого проекта – вольтметра, даны схемы программаторов COM и USB. Скачать версию без ограничений можно здесь

Algorithm_Builder 5.44 - Среда визуального программирования


Кому интересно посмотреть мануал, а устанавливать программу лениво – вот выкладываю его отдельно

Мануал (10094)


Программа активно развивается, поэтому смотрите свежие версии на сайте программы www.algrom.net. Кроме того, там же есть небольшая подборка библиотек.

P.S. Программа портативная. Тесть после установки папку с программой скидываем на флешку и работаем с нее.

(Visited 5 357 times, 15 visits today)

Среда программирования Algorithm Builder: 81 комментарий

  1. delphik

    Надо попробовать данный комплекс.
    Я пользуюсь Flowcode AVR Pro хоть она и платная но в нете полно мест где можно качнуть ее вместе с таблеткой. Простой удобный интерфейс с графическим построением программного кода. возможностью визуально протестировать созданную программу.
    (Будет очень интересно услышать мнение по этой программы от автора сайта)

  2. GetChiper Автор записи

    Flowcode, на столько на сколько я с ней знаком, действительно является средой визуального программирования (в отличие от алгоритм билдера, который, по сути, всего лишь удобный GUI для ассемблера). Flowcode довольно просто изучаем и прост в работе. По моему мнению, будущее именно за визуальным программированием.

  3. ankar

    Сегодня посмотрел Flowcode. Довольно неплохая прога. Главное , что можно куски сразу перевести в Си. А вообще работаю в связке WinAVR+WmLab+Proteus

  4. Brigadir

    @GetChiper
    Позволю себе с вами не согласиться. Подобные Flowcode продукты существую на рынке ПО не первый день, однако до сих пор не пользуются популярностью среди более-менее серьезных программистов. Отчасти потому, что довольно примитивный способ программирования, специфичный программный интерфейс, широкая распространеность у программистов языков высокого уровня. И вряд ли эта тенденция изменится когда либо; более того, переход на подобное ПО можно считать регрессом в плане личного самообразования (про учебные заведения и речи быть не может, в принципе).

  5. GetChiper Автор записи

    Вы слишком прямо восприняли мой коммент. Я поясню, что я имею ввиду.

    В любом создаваемом продукте, будь то программа или, допустим, легковой автомобиль решающее значение имеет экономическая целесообразность. Затраты на создание продукта не должны превышать прибыль от его использования|продажи.
    Это понятно.
    Далее. С быстрым развитием компьютерных технологий, компьютерных сетей, систем автоматического управления и прочих подобных вещей, сложность создаваемых программ достигает такого уровня, что при их создании, для более-менее сложного приложения, уже не достаточно одного программиста. Требуется работа целого коллектива. Соответственно растут затраты на создание и обслуживание, растет себестоимость конечного продукта, а с этим уже, как-то нужно бороться (конкуренцию-то никто не отменял). Вот и приходится предприятиям выбирать между дорогостоящими, но полностью удовлетворяющих техусловиям продуктам и продуктами дешевыми за счет универсальности, но имеющие определенные неудобства. В качестве примера, те-же 1С-предприятие, тот-же Офис, те-же CADы… И я уверен, 95% предприятий смириться с ухудшением конечного продукта для снижения его себестоимости. В этой-же нише могут существовать языки визуального программирования.

    Еще не занудил? 🙂
    Идем дальше! Насчет регресса. Если Вы программист то, наверное, имели дело с ассемблером (микроконтроллеры не трогаем, с ними немного другая ситуация). Ассемблер идеальный язык программирования для компьютера. Можно выжать из железа все, до последней капли! Но настал момент когда сложность железа стала такой, что программирование стало очень трудоемким процессом. Пришлось перейти на языки высокого уровня, которые более громоздки, создают раздутый и медленный код (по сравнению с ассемблером). Регресс? Нет! Языки высокого уровня позволили создавать программы быстро и удобно. С дальнейшем развитием железа от программистов требовалось знание тонкостей работы на аппаратном уровне различной периферии, а ее много, а голова у программиста не резиновая :), приходилось нанимать двух-трех-… Что делать? Писать готовые большие куски программ и прятать их в библиотеки! Программист вообще отстраняется от процессов внутри библиотек. Регресс? Нет! А чего стоит Ява? Это вообще ужасный регресс! Оказывается нет — все ведется к упрощению создания программ и отстранения от железа, даже за счет производительности, гибкости, эффективности. Все идет к «очеловечиванию» программ. С этим ничего не поделаешь — прогресс заставляет.

    P.S. А чем объект в объектном программировании не квадратик-«черный ящик» с торчащими наружу «ножками» событий, методов, данных и свойств в блок-схеме визуального программирования?

    P.P.S. А впрочем, я-же не программист :), так что воспринимать всерьез данный коммент не нужно.

  6. Brigadir

    Ну, во-первых, я говорил исключительно о языках высокого уровня, и зачем вы сюда приплели ассемблер, для меня остается загадкой. Конечно, программировать для Windows на асме — тот еще геморой, оно и ослу понятно.
    Во-вторых, на счет регресса, речь шла о самообразовании, но вы опять приплели сюда библиотеки, яву и т.д. Я вам о развитии отдельной личности как программиста высокого уровня подготовки, а вы мне о тонкостях ООП да о современных тенденциях абстрагирования от железа. Уж не хотите ли вы мне сказать, что в будущем знания того же ассемблера или Си не понадобятся вовсе? Или в будущем драйверы периферии будут писаться на Яве?
    Да, согласен, что Ява-платформа для некоторых применений является незаменимой, но опять же — это не панацея, чтобы втыкать ее где надо и не надо. Ну да хрен с ней, с Явой.
    Давайте определимся, что речь, конкретно, идет о программировании для МК — это раз. Из продуктов ПО, мы говорим о визуальных средах, таких как AlgoritmBilder или Flowcode — это два. Теперь постановка задачи: к ЦП АтМега 32 нужно подключить флешку SD, цветной графический сенсорный дисплей, организовать вывод данных на МП3-декодер (к примеру) и управлять этим всем посредством нестремного пользовательского интерфейса. Что, будете писать все это на Flowcode или в алгобилдере рисовать 3-х километровые блок-схемы алгоритма? Сомневаюсь, что хватит терпения и, главное, памяти ЦП. Выход тут очевиден, драйверы периферии писать на асме, а остальную логику проще выполнить на Сях. Но что будет делать программист, который кроме Flowcode ничего не знает? Не знаете? А я вам скажу: дрочить в присядочку, а потом зубрить ассемблер и Си с плюсами, с самого начала, с самых низов, попутно проклиная все на свете, включая все Flowcode и АлгоритмБилдеры вместе взятые.
    ————————————————————————
    PS. Сказанное выше является личным ИМХО, и отвечать на мои изречения нет никакой необходимости.

  7. GetChiper Автор записи

    Я думал, что только меня пробивает на посты длинной с простыню :). Рад что нашел собеседника с аналогичными наклонностями!

    Если речь идет о микроконтроллерах, то я, конечно, с Вами согласен насчет связки Си + Асм = непобедимая вещь. Algorithm Builder, конечно-же, не годится для профессионального использования и даже не по тому, что программы выйдут не такими как, допустим, на Си, а скорее по причине отсутствия поддержки производителями и программистами. Профессионалам нужны готовые решения и минимальные затраты времени на создание (время-деньги), поэтому огромное количество готовых библиотек под Си — рулят.

    Касательно нас — любителей, для которых программирование есть развлечение (наряду с втыканием в телевизор, в линейку и тому подобную фигню) ситуация немного другая. Мы можем себе позволить такую роскошь как не заморачиваться на счет того, будет ли проект выгодным, нам просто приятно его создавать! Мы оттачиваем небольшой кусочек кода неделями, получая удовольствие просто от того, что программа выходит максимально эффективной. Мы даже можем себе позволить такую вещь, от которой у профессионала волосы станут дыбом — бросить наполовину законченный проект и заняться другим, только потому, что первый надоел. А еще, мы можем себе позволить писать программы не на связке Си + Асм + библиотеки, а на каком-то экзотическом языке программирования, просто потому, что он нам нравиться. Вот такие мы странные люди — любители 🙂

    Умение СТРОИТЬ программы, я считаю, можно развивать на любом языке программирования и не важно что в будущем он может замениться на другой. К сожалению/к счастью различие в самом принципе построения программы у разных языков программирования не такие уж большие — те-же циклы, те-же условия, те-же процедуры … Если Вы только начинаете программировать можно себе позволить обучаться основам на том-же Flowcode, вырастите из него — легче будет учить что то новое.
    ———————————————————————–
    PS. Сказанное выше является личным ИМХО, и меня просто прет отвечать на Ваши изречения 🙂
    PSS. Да, я понимаю, что спор ни о чем, но так приятно поболтать на подобные темы …

  8. Brigadir

    Вот, опять же, программисты программистам рознь. Есть люди пишущие исключительно за лавэ, те да, не станут заморачиваться с нуля и найдут на просторах что либо подобное, и адаптируют под свою задачу. Но есть и другая категория упертых лбов, которым обязательно что-нибудь не понравится в чужом коде, начиная от кажущейся избыточности и заканчивая оформлением не в том стиле, к которому он привык. Я, конечно же, себя профессионалом в программировании не считаю, отнюдь. Но отношу себя, скорей, ко второй категории лиц — стараюсь все сделать по-своему, зачастую, конечно же, подглядывая в чужие исходники, но в целом приводя весь свой код к единому стилю и одновременно адаптируя его для последующего удобства в использовании (часто пользуюсь директивами компилятора). Та же ситуация и в отношении к электронике. Мне проще разработать устройство с нуля (ну, конечно же, до известной степени сложности, там где моих познаний хватит сполна), чем пытаться разобраться в работе чужой поделки, анализировать все возможные комбинации поведения при тех или иных внешних условиях и т.д., чтобы хоть как то обезопасить себя от возможности повторения заведомо неработающего или глючного девайса.
    Ну и наконец, возвращаясь к вышесказанным вами словам. По моему мнению, для начинающего программиста (человека, решившего научиться программировать) особой разницы в восприятии подаваемой информации нет, будь то ассемблер или простейшая программа на Си, или блок-схемы из АлгоБилдера. Для него любая инфа будет в новинку, и пока он не начнет всасывать что к чему (а это произойдет при накоплении достаточного объема информации), ему придется тупо запоминать все что он видит. К тому времени, когда он уже начнет свободно ориентироваться в том же АлгоБилдере и возжелает замахнуться на что либо посерьезней (а это рано или поздно произойдет), то вот тут его и поджидает глубокое разочарование от практической бесполезности предыдущих его усилий, начиная от синтаксиса нового языка и выбранного компилятора, и заканчивая особенностями реализации тех или иных конкретных операций на этом языке (например деление или умножение чисел на ассемблере для процессора не имеющего аппаратных делителя и умножителя). Это все равно, что изучать бейсик на корветах в институте, когда на предприятиях уже вовсю внедряются IBM-совместимые PC с предустановленными Windows98 и VisualStudio (было и такое).

  9. GetChiper Автор записи

    Не буду с Вами спорить по поводу выбора языка программирования для начала изучения основ программирования вообще, тем более я уже высказал свое мнение на сей счет в статье http://www.getchip.net/posts/na-chem-nachat-programmirovat-avr-rekomendacii/.
    Конечно, соглашусь с Вами, что нужно учить Си, если язык программирования изучается с целью дальше заниматься программированием профессионально, так как в этом случае его придется учить полюбому (говорю только за микроконтроллеры для РС это не факт).
    Хочу только привести пару житейских аналогий.
    1 Приходит в первый класс школы учительница и говорит: «Ребята, сегодня мы начинаем учиться читать и так как нам в десятом классе все равно придется читать «Войну и мир» начнем именно с нее, а то, после того как Вы изучите Азбуку, у Вас в десятом классе будет ощущение того, что Вы зря потеряли на нее время.». Я уверен, результат будет плачевный и учительница, после такого нововведения, резко потеряет свою работу.
    2 Папа, насмотревшись Евроспорта, лелея мечту сделать из своего 10-ти летнего сына профессионального спортсмена велогонщика, покупает ему трековый велик. А сын ни сном ни духом о таких планах папочки. Ему, конечно, нравиться гонять по двору на своем детском велике, но не факт, что это мечта всей его жизни. И вот сынишка, под радостные восклики папы, залазит на эту хрень и борясь с неудобствами руля, педалей, отсутствием каких либо прикольных феничек, которые так радовали его на старом велике, пытаясь угодить папочке, нарезает на стадионе круги. Результат таких начал занятий, в 99.9 случаев из 100, следующий: сынишка сразу смекнул, что велик, который ему подсунул папа — говно, потому как на нормальном велике не сделают такого кривого руля, седушку не которой сидеть невозможно, педалей с фиксацией ступни и вообще внешний вид ни какой. Кроме того, грохнувшись несколько раз с такого велика (ногу не всегда получалось вовремя вытянуть со «стремени») сынишка отчетливо начинает понимать, что он неудачник (о чем свидетельствует и кислая мина папаши при его «катаниях») и новый велик на пару со старым, который в общем то и нравился сыну, отправляются в гараж, от куда их уже никогда не достанут и не будут на них кататься.

    Я конечно сильно сгустил краски в примерах, но идея должна быть понятна — не всегда нужно начинать со сложного, мотивируя это тем, что все равно придется это сложное изучать.

    Насчет бейсика на корветах в институте, это Вы, Brigadir, точно подметили. С этим не поспоришь — не нужная вещь (я про корветы а не про бейсик). Самому пришлось учить на них бейсик, правда в техникуме.

  10. Brigadir

    Примеры у вас, прямо скажу, мимо темы. А вот насчет сложного, тут еще надо посмотреть, что будет сложнее, написать на Си «Hello World» (всего то несколько строк) или тоже самое нарисовать в алгобилдере. Начинать можно и с простого, но на Сях, никто же не заставляет сразу переходить к тонкостям и извратам в его применении. Нет, я конечно же ничего против алгобилдера не имею — каждому свое, но. Насчет ваших слов о том что за подобной дребеденью будущее — это вы сильно погорячились.

  11. GetChiper Автор записи

    Ну, может быть насчет сложности Си я и перегнул, но прогресс не стоит на месте и будут появляться альтернативные варианты создания сложных программ, почему бы им не быть такими как хочу я 🙂 — очеловеченными?
    Если прогресс развития программирования остановиться на Си это будет печально 🙁

  12. Brigadir

    Ладно, все это лирика. А вот насчет форума, я бы на вашем месте призадумался, не стоит переживать, что он будет не такой насыщенный как у ДиХалта, это дело времени. Мы его подраскрутим, наваяем статеек и народ повалит (а куда ему деваться? На изе уже и почитать нечего, флуд сплошной да АРМы, похожее и на радиокоте происходит).

  13. GetChiper Автор записи

    Знаете, а у меня аналогичные, противоречивые чувства по поводу повального перехода на АРМы, Кортексы. С одной стороны это будующее, так как электронные устройства становятся умнее, сложнее (и похоже производители, под этим лозунгом, со страшной силой хотят нам впарить эти микроконтроллеры). С другой стороны для радиолюбителей вполне хватает 8-ми битных микроконтроллеров для 90% задач, стоят они не дорого, просты в изучении и программировать для них одно удовольствие. И вроде бы интересно поковырять те-же кортексы, но начинаешь влазить в детали и все становится как-то не весело: трудно паять (ножки мелкие), дорого стоят (жалко мучать в различных экспериментах), программатор уже в 5 проводков не прокатит, сложно начинать писать программы для новой архитектуры. В общем, пока не готов я работать с ними. Соответственно и статьи на эту тему как-то не очень читаются 🙁

  14. Brigadir

    А кто вам сказал, что народ таки повалил на АРМы? Нифига подобного, АРМы и Кортексы — тот еще гемор с конфигурацией периферии, несколькими наборами команд, защищенными и незащищенными режимами и т.д. Да и где ее применять, эту их 32-разрядность? Информации по ним мало на русском языке, а курить буржуйские мануалы как то не вставляет. На форумах одна вода, конкретной информации практически нет, не говоря уже о свободно распространяемых исходниках проектов. Вообщем, без крепкой травы не разберешься, а трава у нас вне закона.

  15. croc19

    Добрый день.
    Огромное спасибо за ваш сайт. Продолжайте его. И постарайтесь
    как то продвинуть повыше на поисковиках. Нашел совершенно случайно,
    по ссылке на другом сайте.
    Хотел добавить свои 5 копеек в вашу дискуссию.
    Я не профессиональный программист, я радиолюбитель. Столкнулся с контроллерами случайно. Нужно было сделать простой счетчик длины
    изготавливаемых изделий. Простой для наладчиков оборудования.
    Сделал на микроконтроллере. Просто заводские очень универсальные
    и имеют такое количество настроек, что после сбоя наши наладчики
    даже с пошаговой инструкцией включения нужного режима матюкались.
    Потом засбоила электроника на термопластавтомате. Умучился искать
    причину. Сделал контроллер управления на меге16. Три года 2 станка
    в 3 смены без серьезных сбоев.
    Это прелюдия.
    Писал программы для контроллера на АСМе. Легче понимать логику работы самого контроллера и его перефирии. Потом предложил на форуме другому
    такому же мученнику со старым оборудованием идею о переделке.
    Дальше больше. Уже человек 10 переделали на такиеже контроллеры.
    Из них только двое знали микроконтроллеры. А другим тоже хотелось
    понять логику работы блока управления. Как бы на СИ я смог объяснить
    начинающим? Нарисовал программу на АБ. Здесь тебе и алгоритм и программа. Вполне доходчиво. Вот такая история. Кстати СИ до сих пор
    не использую. На АБ проще писать небольшие задачи чем на СИ.
    Да и изучая АБ изучаешь контроллер параллельно, а изучая СИ о
    контроллере можно и не знать. СИ более универсальная платформа.
    Она сразу под все контроллеры. СИ для глобальных задач.
    Еще раз спасибо за сайт. Удачи.

  16. GetChiper Автор записи

    Вот и я пытаюсь продвигать идею «адекватности» в выборе средств для реализации поставленных целей. Если цели можно достичь за 1 день используя, пусть не самые лучшие инструменты, вместо недели на самых правильных инструментах, то выбор должен пасть, однозначно, на первый вариант (это я не про Algorithm Builder, а вообще).
    Как ни странно — это, на самом деле,принцип профессионалов. Настоящий профессионал будет создавать проект в той среде, в которой это получиться быстрей (пусть даже дороже).

  17. kosmogon

    Точно точно. Избыточность облегчает работу. Ну и что, если 48 мега стоит на немного дороже тиньки 2313. Ну и что, что флоукод не так эффективен как асм. Разница в цене — копейки. Разница в удобстве и скорости освоения и программирования — колоссальная. Я лично за это. Мой выбор пока — флоукод, и 48 мега. А там посмотрим. Быстро и удобно, и по большому счету и очень оно не дорого.

  18. karpov

    Доброго времени суток. Есть сомоучитель для Algorithm Builder?

  19. GetChiper Автор записи

    Сам хелп Билдера и есть самоучитель.
    Но это касается самой среды программирования. Если Вы имеете в виду программирование AVR микроконтроллеров с нуля, то нужно изучать сам микроконтроллер (книг хватает — Белова, например). Если ориентируетесь в работе микроконтроллера Билдер проблемой не будет.

  20. karpov

    Я с самим Билдером разобраться не могу.

  21. GetChiper Автор записи

    А сейчас на чем программите?

  22. karpov

    В блокноте на ассемблере

  23. GetChiper Автор записи

    Если знаете ассемблер, то автоматически знаете Algorithm Builder — это одно и то же, только проще. Установите Билдер, запустите пример вольтметра (он есть в установленных файлах), откройте хелп билдера и почитайте — там этот вольтметр описан. Через пару часиков уже будете строчить свои программы!

  24. aui2002

    Я, пожалуй, соглашусь с автором.

    Главное в любой программе алгоритм, а на каком языке его записать — дело второе. Это зависит и от знаний программиста (в смысле того, кто пишет программу, будь он хоть филолог по образованию) и от того компилятора, что есть под рукой, от того насколько «горит», да и много еще от чего.

    В школе в УПК (кто застал — знает), учили на «компьютерщика» (QBasic, TP + офис), еще по полусоветской программе. Так мы алгоритмы рисовали больше 30 академических часов.
    Зато после такой подготовки можно за неделю разобраться с любым языком высокого уровня, не говоря уже об ООП. Свою ОС, конечно не напишешь, но простые утилиты для учебы, работы и т.п.

    Так вот к чему это я…
    Понадобилось мне несколько простых приложений для временного мониторинга ресурсов сети. Что-то типа сканеров портов но в мирных целях.

    Первое писал на VB.net — ушло 3 дня.
    А потом, товарищ посоветовал HiAsm.
    То же конструктор, типа визуальный ассемблер.
    Второй сканер писал на нем — сделал за 1,5 часа.

    По-моему, тут вопрос не в том, какой язык, IDE и способ программирования лучше, а в том, что для каждой конкретной ситуации удобней и целесообразней.

  25. GetChiper Автор записи

    Золотые слова!

  26. IROBOT

    Очень интересует эта среда программирования и хотелось бы побольше статей с примерами от простых до сложных.

  27. GetChiper Автор записи

    Есть токая идея — сделать небольшой туториал по началу работы, только как-то недоходят руки 🙁
    А вообще сам хелп к билдеру довольно неплохой туториал. С примером.

  28. IROBOT

    Нашел туториал-весит 23 мегабайта-видимо шел к программе и плате -на комерческой основе.то что надо.Вот проблемы с заливкой -скорость маленькая.Постараюсь на работе залить и автору сайта дать ссылку -если будет любезен то сюда выложить на постоянной основе

  29. GetChiper Автор записи

    Заливайте — обязательно выложу.

  30. GetChiper Автор записи

    Спасибо. Посмотрел неплохой туториал для старта. Плохо, что это коммерческий проект — боюсь автор будет предъявлять претензии.
    В любом случае есть ссылка — пользуйтесь кому нужно.

  31. VSA

    Из мануала я понял, что можно использовать эту программу как управляющую для программатора. Вопрос такой: предположим, есть готовый НЕХ файл, который получен путем компиляции программы, например, в КодеВижн АВР. Как его запустить в камень с помощью Algorithm Builder.

  32. VSA

    Подкупило то, что в Algorithm Builder самый большой и, надеюсь, полный список прошиваемых контроллеров. Я обычно пользую ПониПрог, но в нем нет at90usb…, есть в АВРстудии, но для нее нужен порт ЛПТ, которого нет. Надо перепаять СОМ порт на программаторе и попробовать.

  33. GetChiper Автор записи

    Ну если так …

  34. Karp

    Доброго времени суток!
    Подскажите, пожалуйста, как написать программу для переключения между программами с помощью кнопки, припаянной к любому из портов D на МК ATTiny2313.
    Заранее спасибо.

  35. GetChiper Автор записи

    Что-то я не понял ТЗ?

  36. Karp

    Есть 2 программы для бегущего огонька, надо между ними переключиться нажатием кнопки.

  37. Karp

    Нет. Я только начал этим заниматься и хочу понять как это делается.

  38. Figaro

    По поводу «…(три диода и несколько резисторов)»…
    Попалась мне такая схемка [img]http://www.rlocman.ru/i/Image/2011/02/08/avr_programmer_schematic.gif[/img]. Там 2-ая ножка порта не задействована, здесь — 6-ая. Там транзистор добавлен… Короче, мои знания приблизились к нулю, когда попытался разобраться в разнице между схемами 🙁

  39. Figaro

    На кой ляд там транзистор, понял:
    «Перед запуском программы в МК НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5 вольт через резистор в 1…10кОм. С подключенным программатором ничего работать не будет, т.к. он прижимает RESET и не дает кристаллу стартовать.»
    С этим транзистором выдергивать программатор не нужно. Допустим…
    По сравнению с совместимой с PonyProg схемой (http://rghost.ru/download/36213170/6e3eb30a8a4f0d32f2ea6e7028595e7fae23733d/si-prog-v2_2.pdf) эту сильно сократили в угоду дешевизне. А надежность и безопасность где?
    И получается, что вариант предлагаемого здесь COM-программатора (http://www.getchip.net/posts/delaem-com-programmator-dlya-avr-mikrokontrollerov/) не совместим с PonyProg? Так, что ли? К тому же на контроллер поступают 6 вольт программирования при 5-вольтном питании. Не многовато?
    А если еще придраться к рекомендуемой схеме PonyProg, то и там нет совпадения с рекомендацией Atmel по ISP-коннектору.

  40. GetChiper Автор записи

    Karp :

    Нет. Я только начал этим заниматься и хочу понять как это делается.

    Ну, для начала, нужно определиться в какой среде программирования Вы будете работать. Изучить какой-то микроконтроллер (советую начать с ATtiny2313 — по нему больше всего литературы на русском), изучить среду программирования, а потом начинать ковырять код понемногу…

    Figaro :

    По поводу «…(три диода и несколько резисторов)»…
    Попалась мне такая схемка [img]http://www.rlocman.ru/i/Image/2011/02/08/avr_programmer_schematic.gif[/img]. Там 2-ая ножка порта не задействована, здесь – 6-ая. Там транзистор добавлен… Короче, мои знания приблизились к нулю, когда попытался разобраться в разнице между схемами :(

    И та и другая схемы далеки от канонических приемов схемопостроения, кроме того обе используют COM порт в нестандартном режиме прямого управления линиями, что тоже неправильно. Обе схемы преследуют цель максимально простой и быстрой сборки программатора в «домашних условиях» и если Вы решите двигаться дальше единичных экземпляров устройств, то, конечно, нужно покупать «официальный» программатор от ATMEL.
    Программаторы несовместимы между собой, так как используют разные линии COM порта для программирования.
    От себя могу сказать, что шнурок достаточно надежен и работает довольно устойчиво. Но нужно понимать, что у шнурка нет никаких буферных элементов и если Вы умудритесь по линиям пустить высокое напряжение, однозначно спалите порт (а может и материнскую плату).

  41. Karp

    GetChiper, я уже более менее изучил ATTINY2313 и пишу простые программки. Среду программирования выбрал Algorithm Builder. Никак не могу разобраться как переключать программы при помощи кнопки.

  42. GetChiper Автор записи

    Что значит переключать программы? Подробней.

  43. Karp

    Например, к портам PB0-PB7 подключены 8 светодиодов, а к PD0-кнопка. При подключении питания, светодиоды начинают моргать в одной последовательности, а при нажатии кнопки в другой.

  44. GetChiper Автор записи

    Ставим порта микроконтроллера для кнопок на вход (0 -> DDRD.0), подтягиваем их к питанию (1 -> PortD.0). Нажатая кнопка должна замыкать ножку на землю. Дальше есть 2 варианта работы с кнопками:
    1 постоянно (с определенным периодом) проверять порт кнопки — не появился ли там ноль (кнопка нажата). Если появился — выполняем заданное действие;
    2 настраиваем прерывание по изменению уровня на ножке кнопки и если кнопка нажата — вызовется прерывание где можно выполнить заданное действие.

  45. Karp

    Огромное спасибо!

  46. Figaro

    «Программаторы несовместимы между собой, так как используют разные линии COM…»
    Хотел бы кое-что уточнить. Т.е. можно использовать программатор с любым подключением линий (хоть от Папы Карло), все упирается лишь в назначение линиям в программе (Algorithm Builder, PonyProg,…). Я правильно понял? Или снова не в ту степь :)?

  47. GetChiper Автор записи

    COM порт используется в режиме когда программно дергаются его линии. Какие линии порта дергать зависит лишь от программы для программирования, для микроконтроллера интерфейс один и тот-же.

Добавить комментарий