Программа flowcode: Flowcode. Программирование для AVR и PIC без программирования » Журнал практической электроники Датагор (Datagor Practical Electronics Magazine)

Содержание

Flowcode. Программирование для AVR и PIC без программирования » Журнал практической электроники Датагор (Datagor Practical Electronics Magazine)

Здравствуйте, друзья!
В данной статье я хочу рассказать о своих впечатлениях при работе с программой Flowcode. Это среда разработки, позволяющая составлять программу в виде обычной блок-схемы. Соответственно, мы можем иметь лишь поверхностные навыки в программировании, которые сводятся к составлению нужного алгоритма и, соответственно, блок-схемы. Flowcode генерирует С код, а также компилирует его в .hex файл, который можно сразу же прошить в контроллер или, к примеру, смоделировать в Proteus'е.
Существует две версии программы: для AVR и для PIC. Они имеют в целом одинаковый интерфейс, за некоторым исключением. Изначально все это разрабатывалось для PIC, а уже потом портировалось под AVR.
Ознакомимся поверхностно с программой и ее использованием. Следует признать, что русификация очень кривая забавная.
Основное окно программы:

Содержание / Contents

Здесь мы видим небольшую часть уже собранной программы и практически все элементы управления.
Вверху стандартное меню, а вот ниже все намного интереснее. В меню "Объекты", "Обычные" и т.д. находятся готовые модули, которые можно применять в программе. Например, через "Объекты" можно нарисовать линию, фигуру, написать текст. Через "Коммуникации" - присоединить интерфейсы (SPI, I2C, CAN и др.)
Слева находится панель с элементами блок-схемы - циклы, ветвления, и прочее безобразие. Именно с помощью нее будет создаваться будущая программа. Основное поле Flowcode имеет вкладки. Изначально, при создании нового проекта, вкладка всего одна и называется "Главная"("Main"). Это тело основной программы. Если мы пожелаем создать подпрограмму (здесь они называются макросами, но при русификации в некоторых местах забыли приписать буковку С и получилось "Макро" smile ), то каждый макрос будет в своей вкладке.
smile
Ниже находится еще одно большое поле, называемое "Панель". Здесь размещаются элементы, которые мы применяем при создании программы (например, это может быть ручка эмуляции АЦП, 7-сегментный или ЖК-дисплей)
smile
В целом, интерфейс достаточно прост, и в программе легко разобраться с первой попытки запуска. При создании нового проекта Flowcode предложит разработчику выбрать модель контроллера, а также в меню Вид-Настройка проекта нужно выставить частоту, на которой будет работать контроллер.
smile
Ну, в принципе все! smile Сказать можно многое, но интереснее попробовать.А создавать мы будем.. хм... двоичный счетчик, инкрементируемый по нажатию кнопки. При достижении 8 счетчик обнуляется.
Создаем новый проект и выбираем микроконтроллер Atmega8. Можно в принципе любой другой, но я использовал именно его, поэтому порты и выводы будут описаны применительно к этому контроллеру.
smile

Теперь создадим элементы которые нам нужны для работы: это кнопка и 4 светодиода.
Для создания кнопки щелкаем Входы, выбираем SWITCH.
smile
В нижней панели появится тумблер, что не страшно. Если щелкнуть правой кнопкой по тумблеру, то можно попасть в контекстное меню и выбрать Расширенные свойства и там настроить как нужно.
Например так:
smile
Также, в контекстном меню кнопки выбираем Соединения и приделываем кнопку к порту С и выводу 0.
Похоже на это, только вместо АЦП будет кнопка.:
smile
Аналогично подключаем каждый светодиод, но уже к портам B0, B1, B2, B3. Светодиод ищем в пункте Выходы.
Окончательный результат выглядит аналогично этой картинке:
Знакомьтесь: Flowcode. Программирование для AVR и PIC без программирования

Также необходимо создать всего две переменные: count и button. Обе типа BYTE.
Первая - это сам счетчик, она будет меняться от 0 до 8 в процессе счета. Вторая - может быть 0 или 1, она показывает, нажата ли кнопка.
Создаются следующим образом:
Правка - Переменные, в открывшемся окне создаем новую переменную.
Далее собираем следующую блок-схему:
В картинке я дописал комментарии, что для чего нужно. Все очень-очень просто smile
smile
Все используемые элементы берутся из левой панели программы (это где много желтеньких значков) smile
После сборки запускаем. Светодиоды по нажатию кнопки должны выдавать двоичное 4-битное число.
Уфф... Вроде ничего не забыл...Прикрепляю архив с программой, сделанной через эту среду + файл протеуса, кому интересно посмотреть.
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте. Думаю, программа заслуживает внимания.
Особенно интересна она для тех, кто как и я не знает С или Ассемблер на хорошем уровне.
Спасибо всем, кто не устал читать мою писанину, удачи! :hi:

Камрад, рассмотри датагорские рекомендации

smile

Сергей (Cherep)

Россия, Рыбинск

Интересуюсь железной дорогой. С паяльником дружу как любитель. Занимаюсь усилителями, преимущественно переделкой и восстановлением отечественных аппаратов. Строю комбик.

 

Flowcode

Один из передовых графических языков программирования для микроконтроллеров.

Зачастую очень удобно написать и отладить код в одной программе, а запрограммировать микросхему – в другой. Если нет необходимости «прошивать» по сотне контроллеров в день, если все выводы микросхемы используются «на выход» (т.е. микроконтроллер используется в качестве устройства управления), то программа FlowCode будет самым наилучшим вариантом. Она обладает не требующим разъяснений графическим интерфейсом, что позволяет человеку без опыта в программировании создавать свои собственные комплексные электронные системы буквально за несколько минут. Среда разработки не похожа на другие, создание программ для микроконтроллеров происходит путём простых перетаскиваний особых «кубиков-иконок» на блок-схеме. Открытая архитектура Flowcode позволяет просматривать программный код, полученный из блок-схем (С++ и Ассемблер), и оставлять свои комментарии. Поддерживаются интерфейсы SPI, I2C, RS232, Zigbee, Bluetooth, IrDA, LIN, CAN, TCP/IP, USB, Webserver, GPS и RFID. В программном пакете есть инструмент для рисования передней панели создаваемого прибора и составные элементы для кнопок, клавиатур, выключателей, LED, LCD, сенсоров, внутренней EEPROM, 7-сегментных дисплеев.

Существует 4  варианта программы: для контроллеров AVR, PICmicro, dsPIC/PIC24 и ARM. Есть возможность экспортировать написанную, например, под PIC-микросхемы программу в код для AVR или наоборот.

В комплекте с Flowcode предлагается приобрести индустриальный контроллер управления MIAC (Matrix Industrial Automotive Controller). Он собран на 18-разрядном PICmicro. MIAC соответствует всем стандартам, имеет сетевой интерфейс CAN, программное обеспечение Flowcode позволяет программировать его через USB порт.

Flowcode доступен более чем на 20 языках, включая русский. Для корректной работы компилятора рабочие проекты должны быть сохранены по адресу, не имеющему кириллических символов.

Программа написана для операционной системы Windows, но многие разработчики используют ее и в Linux, отмечая незначительные изменения во внешнем виде и работе.

Распространение программы: платная от £49. Есть бесплатная версия с ограничениями и только для микроконтроллеров PIC

Официальный сайт Flowcode: http://www.matrixmultimedia.com/

Скачать Flowcode

Обсуждение программы на форуме

Flowcode Professional 8.0.0.6 (x86/x64) + ключик активации

FlowCode – популярное средство разработки для программирования встроенных устройств на основе PIC и AVR от компании Microsoft. Написать и отладить код в одной программе, а микросхему во второй – зачастую простая задача. При отсутствии необходимости прошивки по сотне контроллеров в день, FlowCode будет отличным решением.

Ключ активации

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

Возможности

Создать комплексные электронные системы в кратчайшие сроки теперь сможет даже пользователь, не работающий в сфере программирования. Все благодаря комфортному графическому интерфейсу и уникальному алгоритму работы, который не схож на аналоговые программы. В случае с FlowCode, создание программ для микроконтроллеров происходит методом перетаскивания иконок на блок-схеме. Архитектура программы полностью открыта и позволяет просматривать программный код, полученный из Ассемблер или C++. Поддерживаются различные интерфейсы (Bluetooth, irDA, LIN, CAN, SPI, USB, RS232). В программную сборку включён инструмент для рисования передней панели и компоненты для клавиатур и кнопок.

Программа работает в 4 вариантах:

  • для контроллеров AVR;
  • ARM;
  • dsPICK;
  • PICKmicro.

Обычно, начинать проект принято с планирования алгоритма, который будет выполнять микроконтроллер. Для этого в программе предусмотрен интерфейс для создания блок-схем. Пошаговая реализация блок-схем выглядит так:

  1. После запуска программы необходимо нажать ОК во всплывающем окне Reminder Screen.
  2. Нажать на надпись «Создать проект».
  3. Выбрать PIC16F887 в качестве контроллера.
  4. Найти рабочую область MAIN и запустить ее.
  5. Добавить нужные блок-схемы путём перетаскивания курсором с левой панели.
  6. Найти в верхней панели элементы, а затем добавить необходимые (переключатель, светодиоды).
  7. После этого появится меню LEDS. В соединении с портом необходимо выбрать PORT D.
  8. В окне с переключателями (SWITCHES) зайти в меню Properties и выбрать количество кнопок – 1.

На этом все. Теперь остается настроить элементы блок-схем. Все, что нужно – щелкнуть по нему кнопкой мыши и написать о назначении блока в командной строке.

Стоит отметить, что программа доступна на 20 языках, включая русский. Разработчики рекомендуют сохранять проекты без символов кириллицы, иначе в последующем это может повлиять на корректность работы. Изначально FlowCode была разработана для Windows, но сейчас ее могут применять пользователи Linux.

Скачать с вшитым ключом

В бесплатной версии вас будут ждать глобальные ограничения в работе, к тому же, только с микроконтроллерами PIC. Появилась хорошая новость: за лицензионную сборку можно не платить. Все, что требуется – активировать программу. На нашем сайте вы сможете это сделать быстро и надежно. Ключ активации вшит в установочный файл, а значит, от вас требуется только установка, и ничего больше.

Микроконтроллеры 4. Программа FlowCode. - 12 Ноября 2011 - Портфель

Есть два варианта, как быстро исправить упущение. Первый самый простой. Добавим в программу переменную «lp» (loop, цикл). До входа в подпрограмму присвоим ей значение «1». Изменим условие работы цикла While lp = 1, а в конце подпрограммы присвоим этой переменной значение « 0 ». Теперь мы попадаем в подпрограмму и возвращаемся из нее, что можно проверить с помощью точек останова, создавая их внутри подпрограммы и вне ее.

Второй путь — внести опрос клавиатуры в подпрограмму. Правда, при этом смысл подпрограммы полностью теряется, не оставляя ничего программе. Впрочем, к созерцанию структуры программы можно вернуться позже, а сейчас отладка программы выявляет еще одно: меняя переменные «тоrе» и «less», я думаю об увеличении и уменьшении частоты, а меняю при этом длительность пауз, то есть, период. Все с точностью «до наоборот». Вовремя заметил. Изменение (заменить операции на обратные)  это пара щелчков мышкой. Двигаемся дальше. Я проверяю клавиатуру (переменную «more») условием if more = 0, поскольку задумывал «подтянуть» входы резисторами, а кнопкой «приземлять» их. Однако в программе FlowCode внешний элемент Switches в разомкнутом состоянии оставляет вход в состоянии «О», а при замыкании подает на вход «1». Срочно исправлять (и не забыть вернуть к первоначальному варианту перед прошивкой!). Есть еще одно решение проблемы с попаданием в ловушку бесконечного цикла — использовать прерывание.  Хотелось бы его опробовать,  но,  пока я старательно вносил   правку   в   «стройную   последовательность»   своих   ошибок,   на   горизонте (мысленном)  замаячила еще одна проблема.

Что за проблема? Проблема пауз, с одной стороны, и проблема времени опроса с другой. Клавиши изменения частоты (больше-меньше) — сейчас временные интервалы большие и удобные для отладки — приходится удерживать нажатыми подолгу. Причина в том, что программа должна «пройти через паузы». Пока она «отдыхает в паузах», она не обращает внимание на нажатые клавиши. Но, когда мы приведем длительности к реальным нуждам, скажем, частоты в диапазоне 1-10 кГц, то нажатие, естественное для нас, не заставит ли программу со скоростью заданной частоты увеличивать эту частоту? За время удержания клавиши, например, в одну секунду, программа сможет прочитать нажатие клавиши очень много раз. Перво-наперво, возникнет ли такая проблема в реальности? В данном случае, возможно, нет.  Почему? Из-за дребезга контактов.

Купить

Программаторы, средства разработки и отладки для DSP,
средства разработки и отладки для ПЛИС-ПАИС


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

Время «антидребезговой» паузы, следовательно, время необходимого удержания кнопки при смене частоты, может быть выбрано равным секунде или двум, когда выполнение других блоков программы не требуется. И ничто нам не помешает добавить еще одну паузу в секунду или больше перед вызовом подпрограммы. Мы устраним дребезг контактов, его в любом случае нужно устранить, и не позволим программе в этом месте что-то делать, что могло бы помешать «правильно» переключать частоту. Можно использовать и другой прием, например, ждать размыкания кнопки (с «антидребезгом»). Таким образом, в реальности нам не грозит многократное увеличение (или уменьшение) частоты генератора при однократном нажатии кнопки. Ниже я использую программный элемент Connection Point  (точка соединения)  и светодиод на выводе А7 для индикации процесса изменения частоты. Пара Connection Point — это, в более привычном облике, пара, образуемая меткой и оператором Goto  (переход к метке).

И, наконец, можно вернуться к еще одному варианту решения проблемы «попадания в бесконечный цикл», к варианту с прерыванием. Для этого есть программный элемент Interrupt. Присваивание переменных «more» и «less» внесем в подпрограмму обработки прерывания. Если открыть свойства элемента Interrupt (прерывание), то можно увидеть список доступных прерываний.

Прерывания по таймеру сейчас, пожалуй, не актуальны, а начать эксперимент можно с внешнего прерывания RBO/INT. Программа приобретает вид, показанный ниже.

Снабдим подпрограмму обработки прерывания точкой останова, чтобы посмотреть , попадаем ли мы в подпрограмму, когда нажимаем кнопку ВО.

Запущенная программа после нажатия на кнопку ВО останавливается, как и задумывалось , на точке останова.

Если бы это прерывание (RB0/INT) было единственным доступным механизмом прерывания, то и тогда можно было бы его использовать: вместо двух кнопок будут три, две для изменения частоты, третья кнопка, чтобы изменения вступили в силу.  Но...Список штатных прерываний, предложенный программой FlowCode, продолжается прерыванием по RB Port Change (прерывание по изменению состояния порта В). В описании микроконтроллера PIC16F628A можно найти, что изменение состояния входов RB4-RB7 может инициировать прерывание, если оно разрешено. Выбор входов для соединения с кнопками управления частотой не носит принципиального характера, можно легко заменить вход RB0 на RB4, a RB1 на RB5. Не сложнее изменить свойства программного элемента Interrupt. Подпрограмма «работы мультивибратора» остается прежней. А в подпрограмму обработки прерываний добавлены опросы клавиш на входах В4 и В5. При необходимости в работу можно внести описанные выше «антидребезговые» добавления. А в целом, можно сказать, что в разных ситуациях лучше использовать те приемы работы, которые дают должный эффект, лучше выполняют работу устройства и хорошо вам знакомы и понятны, когда вы достаточно ясно представляете себе, почему выбрали тот или иной вариант.

Купить

Программаторы, средства разработки и отладки для DSP,
средства разработки и отладки для ПЛИС-ПАИС


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

 

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

Как и остальные элементы, индикатор имеет свойства. Для доступа к свойствам подключения индикатора служит кнопка на титульной панели рядом с кнопкой закрывания. При ее нажатии из выпадающего меню следует выбрать пункт Component Connections. По умолчанию анод индикатора подключен к выводу 3 порта А. В дальнейшем этот вывод следует сделать в программе выходом и установить в состояние высокого уровня. Свойства подключения можно изменить, например, так:

Анод теперь подключен к выводу ВО. А с тем, чтобы переключатель Switches не мешал нам распорядиться выводами порта В на наше усмотрение, можно изменить его свойства. Переключатели и светодиодные линейки по умолчанию обслуживают порт целиком, то есть подключаются ко всем восьми выводам порта. Зачастую это удобно. Но не всегда. Если возникает необходимость в переменах, то их можно выполнить в свойствах компонента. Для этого достаточно для нужных бит порта, выделяя их, в окошке Bit: выбрать Unconnected (не присоединен). Микроконтроллер PIC16F628A имеет два порта ввода-вывода по восемь выводов в каждом. Такого количества на первый взгляд более чем достаточно, но по мере усложнения схемы первоначально распределенные по портам выводы смешиваются, часть этих выводов приходится использовать вынужденно, кварц соединяется со вполне определенными выводами, для сетевой работы выводы тоже предопределены. Если возникают сомнения, как отразится привязка выводов при работе программы к байтовым линейкам светодиодов или переключателей, ненужные выводы можно сразу отключить.

Вывод порта А7 подключен к точке на семисегментном индикаторе, что позволяет в программном блоке «работы мультивибратора» использовать этот бит для вывода отображения сигнала, заменив в подпрограмме прежний вывод АО. После запуска программы все элементы индикатора зажигаются, а точка мигает с выбранной скоростью. Чтобы не усложнять вид программы, а ясно, что порядок работы с индикатором при отображении частот, скажем, в диапазоне 1-9 кГц, это не более, чем повторение одних и тех же программных фрагментов, я остановлюсь на основной частоте 2 , а кнопки меньше и больше будут переключать частоту на 1 и 4 (деление и умножение на 2, заложенные ранее). Обслуживание индикатора можно оформить в виде подпрограммы. Назовем ее «indicator». И вначале погасим индикатор, «записав единицы» во все биты порта . Затем можно, используя ветвление, обслужить все задуманные значения частоты, зажигая нужные сегменты (установкой соответствующего бита в «О»).

На этом этапе работы, а программа несколько «подросла» количественно, можно проверить и исправить ошибки, если они есть, можно дописать такие фрагменты, как выход частоты из заданного диапазона, например, высвечивая «Е» на индикаторе. Можно сравнить полученную конструкцию с той, что могла бы быть получена без использования микроконтроллера. Устройство достаточно простое, его можно реализовать, используя цифровой счетчик и тактовый генератор на вентилях. А можно удовлетвориться достигнутым и перейти к макетной плате и внешнему оформлению устройства. Можно и продолжить разработку, введя еще один семисегментный индикатор для расширения диапазона частот.

Купить

Программаторы, средства разработки и отладки для DSP,
средства разработки и отладки для ПЛИС-ПАИС


Главное, вы начали работу с микроконтроллером, создав первое устройство, и вам ясно, что создание второго и третьего — вопрос только вашего желания. После первого шага, пусть создания простейшей программы с мигающим светодиодом, первого шага, доведенного до конца, то есть, до макетной платы с микроконтроллером и «фонариком», у вас обязательно появится много идей, как с пользой применить микроконтроллер. Реализуя эти идеи, вы больше узнаете о программе FlowCode, научитесь работать с ней. Но, возможно, легкое чувство неудовлетворенности не оставит вас. Знатоки, едва речь заходит о микроконтроллерах, в один голос утверждают, программировать нужно на ассемблере.

Я не отношусь к знатокам. Работает устройство, и хорошо. Как написана программа — какая разница? Но, если вас это беспокоит, то я посоветовал бы, конечно, если вы не «на короткой ноге» с языками программирования, использовать программу FlowCode, как удобный самоучитель по программированию. Сначала на языке Си. Язык более высокого уровня, Вернемся к самой простой программе — помигать светодиодом. Даже упростим задачу — зажечь светодиод.Программа в графическом представлении выглядит так.

Следующее, что мы сделаем, выберем в основном меню раздел Chip, в котором выберем пункт Compile to С. . . (компилировать на Си) . После успешной компиляции можно открыть файл на языке Си в блокноте с помощью пункта View С... того же раздела Chip основного меню. Значительная часть файла, все строки, начинающиеся с двойной косой черты //, это комментарии, то есть, пояснения для читающего файл, все комментарии игнорируются при дальнейшей трансляции кода программы. Очень много строк, начинающихся со значка «#» и слова «define» — определить . Это служебное слово, за которым следует, что должно быть определено, чтобы при дальнейшей трансляции компилятором, используемым программой FlowCode, текста программы на ассемблер и дальше в загружаемый код, все было определено и обозначено. Что именно следует определять, зависит от ваших нужд,  того как будет написана программа и конкретного компилятора. Есть еще одно служебное слово «#include» — включить, предназначенное к добавлению в программу других файлов, чаще файлов заголовков, которые активно используются в языке Си. В данном случае, как это следует из комментария, включены функции, необходимые для работы с контроллером. Сама программа (не умаляя значения всего остального) выглядит почти так же коротко, как ее графическое представление.

void main ()
{
//Инициализация
cmcon = 0x07;
//Output:   1  -> PORT А
trisa = 0x00;
porta = 1;
}

Для работы с программами на языках Си и ассемблер и PIС-контроллерами я считаю наилучшей средой разработки MPLAB. Небольшая правка, которая зависит от используемого компилятора, и программа на языке Си, полученная в FlowCode, будет работать в MPLAB. Аналогично можно поступить с программой на ассемблере. Простота создания работающих устройств в среде программирования FlowCode может оставить неверное впечатление, что она хороша только для очень простых устройств. Но это не так. Средства вычисления, возможность добавления готовых блоков программы, написанных на языке Си, все это, наряду с продуманным набором встроенных команд, позволяет решать, если и не любые, то достаточно сложные задачи в рамках создания устройств на основе микроконтроллеров. Достаточно часто подобные устройства организуются в систему, где отельные устройства связаны в сеть. Для сетевого применения во многие микроконтроллеры добавлены модули сетевой работы USART. Где может быть полезна эта функция контроллера? Положим, что контроллер выполняет некую программу, связанную с обработкой состояния датчика. В этом случае, как правило, датчик и контроллер могут быть разнесены на некоторое расстояние. Или, например, пульт управления и исполняющее устройство, они тоже могут находится в разных местах.

Купить

Программаторы, средства разработки и отладки для DSP,
средства разработки и отладки для ПЛИС-ПАИС


И пусть пульт управления имеет всего две-три кнопки, а между пультом и управляющим модулем расстояние в несколько метров, для связи между ними удобно использовать встроенный приемопередатчик USART. В качестве сетевого интерфейса я отдал бы предпочтение RS485: всего два провода, хорошая защита от внешнего электромагнитного воздействия, малые создаваемые помехи, допустимые большие расстояния, для одного модуля всего одна микросхема интерфейса RS485. Не самое сложное и не самое дорогое решение. Посмотрим, как можно использовать USART для задачи соединения модуля (с одной кнопкой) управления с исполняющим модулем (один светодиод). Программа для первого модуля может выглядеть (я использую FlowCode) следующим образом:

Кроме уже привычных программных компонент, после добавления дополнительного элемента RS232 (с инструментальной панели дополнительных элементов) я использую программный элемент Component Macro, появляющийся как вызов подпрограммы, обрабатывающей обращения к встроенному USART. Сама подпрограмма уже написана производителем FlowCode, остается только настройка.


Выбрав в окне Component: нужный мне дополнительный элемент RS232(0), выбрав в окне Macro: нужный мне вид работы SendRS232Char (отправка символа по RS232), я создаю новую переменную «one» (типа Byte), которой в ветке программы (до вызова подпрограммы отправки символа) с помощью программного компонента Calculate присваиваю значение  '1'. На этом написание программы для первого модуля можно закончить и проверить работу программы. Нажимая кнопку АО на элементе Switches(0), можно видеть, как в окне Characters sent элемента RS232(0) появляются единицы (в программе не убран «дребезг», и каждое нажатие может отправлять несколько единиц). Окно наблюдения за этим процессом в программе FlowCode черное, а символы зеленые, но они плохо видны на рисунке в тексте, поэтому в графическом редакторе GIMP (перед тем, как вставить рисунок) цвета инвертированы. После задания слова конфигурации (и выбора модели контроллера, напомню, основное меню Chip)  проект транслируется в hex-файл. Теперь создадим еще одну программу. Она должна принимать символ ' 1' по USART и включать светодиод на выводе RB0.

Здесь также использован элемент Component Macro для RS232.

 

Запустив программу, в компоненте RS232(0), в окне Characters in queue с помощью клавиши с иконкой «+» можно открыть окно ввода необходимого символа, как если бы мы этот символ отправили из первого модуля. Если теперь нажать клавишу ОК, то программа должна зажечь светодиод на выводе RBO.

Окошко Characters received опять «подправлено» в Gimp, чтобы можно было видеть полученный символ на рисунке. И, что дальше? Можно, конечно, «зашить» программы в контроллеры и проверить, что называется «живьем», но...Есть такая программа (тоже для Windows), которая называется Proteus. Чем она сейчас интересна, так это тем, что в ней можно симулировать работу двух микроконтроллеров. Добавив в редакторе Proteus ISIS два микроконтроллера PIC16F628A и все необходимые внешние элементы, следует настроить контроллеры:

 

Настройка сводится к указанию тактовой частоты, слова конфигурации и места расположения hex-файлов. Теперь, нажимая кнопку в собранной схеме, проверяем, что все действительно должно работать.

Так «беседуют» два микроконтроллера. Не будем им мешать.

"Домашняя лаборатория" Гололобов В.Н.

назад

 

Программа Flowcode пятой версии | Техника и Программы

Многие, кого интересует создание простейших роботов, но кто не готов купить конструктор для экспериментов кто только начинает осваивать микроконтроллеры и планирует собрать робот из старого, управляемого с пульта автомобиля могут на первых порах воспользоваться свободной версией программы Flowcode

Хотя первые шаги лучше сделать с самыми простыми программами, даже начинающие быстро переходят к задачам достаточно сложным Поэтому кроме овладения приёмами создания программ в Flowcode я настоятельно рекомендую познакомиться и с языком программирования Си и с ассемблером Программа Flowcode позволяет делать вставки на языке Си, это та причина, по которой зашла речь об этом языке, хотя можно вполне успешно писать программы для микроконтроллеров на языке, скажем, Basic Знакомство с ассемблером, равно как и конкретной моделью микроконтроллера по его описанию, избавит вас от ощущения, что есть нечто за пределами ваших знаний, в чём и скрыт успех работы Успех любой работы в постоянной практике и постоянном пополнении знаний

Пятая демо-версия программы имеет, конечно, ряд ограничений, но для знакомства с микроконтроллерами её более чем достаточно

Рассмотрим некоторые новшества этой версии на примере простого решения: общение двух микроконтроллеров Предпосылка для этого устройства в отсутствии многозадачности в МК Что это значит

Как правило, микроконтроллер работает в бесконечном цикле, выполняя некоторую задачу Выберем простейшую задачу, которая похожа на регулировку скорости вращения двигателя постоянного тока, но упростим её: будем включать и  выключать светодиод с заданным интервалом времени Теперь предположим, что есть датчик расстояния до препятствия Когда датчик обнаруживает препятствие, мы должны замедлить движение

Работа с датчиком расстояния – это вторая задача Можно, конечно, включить одну из задач во вторую, но мы выберем другое решение: пусть одну задачу, движение, выполняет микроконтроллер PIC16F887 (как в ROBOPICA), а другую задачу, следить за преградой, выполняет второй микроконтроллер PIC16F628A Оба контроллера мы свяжем по USART, и, когда второй контроллер обнаружит препятствие, он отправит сигнал первому контроллеру, который изменит

«скважность» мигания светодиода Вот такую простую задачу мы постараемся решить и отладить в программе Flowcode

Вначале напишем программу для  второго контроллера: когда нажата кнопка, контроллер отправляет символ «1»

Запускаем программу, выбрав контроллер PIC16F628A:

Рис Б1 Рабочее окно программы Flowcode 5

В отличие от предыдущей версии в новой программе есть окно навигации по проекту, что особенно удобно, когда проект (незаметно, но быстро) начинает разрастаться Пользуясь окном доступа в Интернет, вы можете обратиться к справкам, форуму по программе непосредственно из программы Если это окно вам не нужно, вы можете его отключить

Как и в предыдущей версии, инструментальная панель отладочных компонентов и встроенных модулей микроконтроллера имеет группы этих элементов, раскрыв которые вы  можете убедиться, что новая версия пополнилась новыми элементами Но начнём работу

Добавим кнопку и модуль RS232 для реализации программы Кнопка найдётся в группе «Входы»:

Рис Б2 Добавление кнопки

Как только вы щёлкнули по переключателю, тумблер появится на отладочной панели Двойной щелчок по нему изменит панель свойств, отображая свойства этого элемента В расширенных свойствах вы можете выбрать модель переключателя и то, как будет работать кнопка, подавая на

вход МК высокий уровень или низкий (я выбираю низкий) В свойстве соединения вы выбираете, к какому выводу будет подключена кнопка Впрочем, всё это есть и в предыдущих версиях

В предыдущих версиях я сталкивался с тем, что нужна вставка на языке Си для использования внутренних «подтягивающих» резисторов на входах Проверим, так ли это в пятой версии Подойдёт простой вариант – кнопка нажата, загорается светодиод, попутно я использую новый трёхцветный светодиод, появившийся в этой версии

Рис Б3 Программа проверки работы кнопки

Вы и сами заметили, что теперь программа нуждается в меньшем количестве комментариев, она снабжается ими автоматически К сожалению, трёхцветный светодиод в демо-версии не работает, приходится программу вернуть к обычному виду И я удаляю макрос опроса кнопки, возвращая обычный элемент входа В расширенных свойствах светодиода указываю активный низкий уровень (подразумевая, что катод подключён к земле)

Используя макросы для кнопки и светодиода, я не вполне ясно понимаю их работу Разобраться с этим можно позже, а сейчас меня интересует в большей мере вопрос «подтягивающих» резисторов

Запустив отладку, я вижу, как при нажатой кнопке светодиод загорается, а при отпущенной гаснет

Рис Б4 Симуляция работы программы в Flowcode

Но проверка в программе ISIS не даёт ожидаемого результата:

Рис Б5 Проверка программы в Proteus

Выход RA0 остаётся в высоком состоянии вне зависимости от состояния кнопки Добавляю вставку на языке Си в программу (нужно сбросить седьмой бит в регистре OPTION) Чтобы использовать режим пошаговой отладки, меняю кнопку без фиксации на стопорящую (в её свойствах) Попутно отмечу, что в этой версии в окно наблюдения за переменными можно добавить и порты Действия, как и в предыдущих версиях, просты – щелчок правой клавишей мышки в окне наблюдения при начале отладки, выбор переменной или порта, при этом переменные могут быть и глобальными, и локальными:

Рис Б6 Добавление портов для наблюдения в режиме пошаговой отладки

После отладки программы можно убедиться, что вставка на языке Си нужна После добавления вставки:

Рис Б7 Проверка работы программы в ISIS

Теперь ненадолго вернёмся к первоначальному виду программы Я хочу использовать макросы для чтения состояния кнопки вывода результата на светодиод При чтении состояния кнопки используется переменная Добавив макрос чтения, выбираем переменную (в данном случае создаём новую):

Рис Б8 Создание новой переменной Выглядит программа так:

Рис Б9 Вид программы с использованием макросов

Но при отладке в Flowcode программа работает несколько странно, что я отнёс бы к разряду глюков Зато в ISIS это работает правильно:

Рис Б10 Работа программы в Proteus

Пора приступить к основной программе для этого контроллера Создаём новый проект, заходим в раздел основного меню Чип->Настройки проекта Теперь и выбор частоты тактового генератора, и задание слова конфигурации происходит в одном месте

Рис Б11 Настройка проекта

Я настраиваю конфигурацию так, чтобы слово конфигурации было 3F18 Однако добавление модуля RS232 проясняет, что этот модуль не входит в состав ограничений демо-версии Жаль, поскольку не будет работать и сетевое соединение двух микроконтроллеров

Не всегда получается то, что хочется Так Вместе с тем, программа стала удобнее и для первого знакомства с микроконтроллером вполне подходит

Хочется ещё добавить, что в новой версии расширено количество типов данных Щёлкнем в навигаторе проекта по разделу Переменные правой клавишей мышки и выберем добавление новой переменной:

Рис Б12 Новые типы переменных в Flowcode 5

Удобнее стало работать с текстом на языке Си после трансляции программы Возможно, в полной версии можно разделить окно программы, чтобы этот текст был постоянно в поле зрения

Рис Б13 Текст программы на языке Си

Текст, введённый с помощью программных компонентов, дополнен иконками этих элементов, что позволяет легче сопоставить действия, вызванные работой графических компонентов и исходного текста на языке Си

Когда в свойствах прерывания задаётся срез импульса, вызывающий это  прерывание, то  при симуляции вывод отображает, каким срезом, фронтом или спадом, вызывается прерывание

Рис Б14 Настройка прерывания

Не самое главное, но полезное нововведение

Рис Б15 Поведение вывода прерывания при отладке

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

Рис Б16 Выпадающее меню работы с программным блоком Отключённый блок меняет свой вид:

Рис Б17 Отключение блока программы

Удобнее, полнее – новая версия программы, думаю, не ограничивается этими свойствами, раскрывая новые в процессе работы Осталось поработать с программой…

Источник: Гололобов ВН,- Самоучитель игры на паяльнике (Об электронике для школьников и не только), – Москва 2012

Avrdude, Flowcode и Arduino Leonardo. / Блог им. Jman / Сообщество EasyElectronics.ru

Всем снова привет! Недавно начал пользоваться программой Flowcode v5. Мне она по нраву, можно наглядно посмотреть о чем ты думаешь, складывая алгоритм по кирпичикам. Написать простую программу можно за 5 минут. Подробно о программе тут: Визуальное программирование
Используя эту программу за две недели сделал пару проектов используя для отладки китайскую макетку на Atmega 32, программировал кристалл при помощи USB BASP Подробнее и Khazama AVR Programmer Подробнее. Все бы ничего, если бы на работе не притащили ARDUINO Leonardo Подробнее. Слышал об этом устройстве не раз, но никогда с ним не работал, да и знакомых работающих на ней нет. Полез на сайт, скачал родное IDE, доки и тд. Скажу сразу, родная IDE не понравилась. Решил использовать Flowcode, благо 5 версия поддерживает платы Arduino. И вот тут напоролся на грабли, плюс IDE от Arduino — загрузка скетча прямо из среды разработки в кристалл. А это ведь очень удобно. Изучив доки и программу, понял — что в Leonardo протокол AVR109, и загрузка программ идет по USB через вшитый bootloader. Arduino IDE использует AVRDUDE. Решено! Пробую встроить дудку во Flowcode v5. И тут началось самое интересное. Пошуршав интернет, сделав выводы, промучившись ровно 2 дня подключения железки к IDE Flowcode нашел такое, что при подключении ARDUINO Leonardo к USB с дровами подтянутыми из родной IDE мы видим виртуальный com порт № например 1. Используя дудку и этот порт залить откомпилированную программу не удастся. Для того что бы запрограммировать кристалл нам нужно пнуть плату в режим bootloader. Для этого нажимаем один раз ресет (если бут оригинал от итальянцев), у нас есть порядка 8 секунд, что бы пойти в диспетчер устройств и увидеть там номер виртуального com порта Arduino leonardo bootloader:
Теперь нам нужно скачать avrdude последней версии и закинуть в корневой каталог диска С.
После чего настраиваем Flowecode.
При создании нового проекта выбираем Arduino leonardo. Заходим в меню Чип:

Далее в Опции компиляции:

В меню опции компиляции идем в пункт Programmer:

1. Указываем путь к AVRDUDE;
2. Прописываем конфигурационную строку для AVRDUDE.
У меня она такая: C:\Avrdude\avrdude.exe avrdude -v -p m32u4 -c avr109 -P COM2 -b 1200 -D -Uflash:w:Flowcode1.hex:i
VCP bootloader у меня COM2, он будет отличаться, поэтому вы должны будете проследить на каком порту он висит в диспетчере при нажатии кнопки ресет на плате Arduino Leonardo. -b 1200 — это скорость порта, у меня заработало только на такой. Так же я пока хекс файл кидал в директорию AVRDUDE, поэтому в параметры строки записал еще и имя файла — w:Flowcode1.hex:i.
Проделав эти манипуляции, можем накидать программу во Flowcode v5 и запрограммировать ардуинку.
Нарисуем алгоритм мигалки:

После чего компилируем программу. Меню Чип — > Компиляция в HEX. Далее HEX Файл перетаскиваем в папку с AVRDUDE. Идем в меню ЧИП, нажимаем на плате Arduino кнопку ресет, у нас есть 8 секунд, чтобы залить нашу программу -> Компиляция в Chip:

С первого раза может не получиться, нужно немного набить руку, что бы примерно успевать пинать ардуинку в бутлоадер и нажимать запись программы в Чип. После этих действий можно наблюдать прогресс:
http://www.matrixmultimedia.com
Compilation is up-to-date
Linking is up-to-date
Launching the programmer...
C:\Avrdude\avrdude.exe C:\Avrdude\avrdude.exe avrdude -v -p m32u4 -c avr109 -P COM2 -b 1200  -D -Uflash:w:Flowcode1.hex:i

avrdude.exe: Version 6.1, compiled on Mar 13 2014 at 00:09:49
             Copyright (C) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (C) 2007-2014 Joerg Wunsch

             System wide configuration file is "C:\Avrdude\avrdude.conf"

             Using Port                    : COM2
             Using Programmer              : avr109
             Overriding Baud Rate          : 1200
             AVR Part                      : ATmega32U4
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
               flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

             Programmer Type : butterfly
             Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude.exe: devcode selected: 0x44
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% -0.00s

avrdude.exe: Device signature = 0x1e9587
avrdude.exe: safemode: lfuse reads as FF
avrdude.exe: safemode: hfuse reads as D8
avrdude.exe: safemode: efuse reads as CB
avrdude.exe: reading input file "Flowcode1.hex"
avrdude.exe: writing flash (714 bytes):

Writing | ################################################## | 100% 0.06s

avrdude.exe: 714 bytes of flash written
avrdude.exe: verifying flash memory against Flowcode1.hex:
avrdude.exe: load data flash data from input file Flowcode1.hex:
avrdude.exe: input file Flowcode1.hex contains 714 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 0.01s

avrdude.exe: verifying ...
avrdude.exe: 714 bytes of flash verified

avrdude.exe: safemode: lfuse reads as FF
avrdude.exe: safemode: hfuse reads as D8
avrdude.exe: safemode: efuse reads as CB
avrdude.exe: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude.exe done.  Thank you.

Return code = 0

FINISHED

Все, готово. Смотрим на ардуинку, наш светодиод должен моргать с указанной в программе задержкой.
PS: Что подвигло написать данную статью. Мало инфы, все разбросанно. Конкретно под Leonardo то же ничего нет. Два дня я пытался собирал, и запустил программатор в IDE Flowcode v5 на операционной системе Win7 x64.

Flowcode AVR 5.5.2.1 | Elektron

   Программа Flowcode является одним из самых иновационных графических языков программирования для микроконтроллеров в мире. С ее помощью можно создавать сложные электронные системы в считанные минуты, практически не имея опыта и навыков программирования.  Flowcode доступен на многих языках и в настоящее время поддерживает микроконтроллеров AVR, PIC, ARM, c возможностью экспорта написанного кода под PIC контроллеры в программу для AVR и наоборот.  

 FlowCode AVR - это универсальная среда разработки под микроконтроллеры AVR.

Основные характеристики: 
- Простой в использовании интерфейс, просто перетащите значки на экране;
- Обширная подпрограмма высокого уровня компонентов;
- Открытая архитектура, позволяющая просматривать и прокомментировать С и Ассамблер код, генерируемый из блок-схем;
- Полностью поддерживаются спектр материалов для обучения и развития встраиваемых систем.

Возможности:
- Поддерживаются интерфейсы I2C, SPI, RS232, Bluetooth, Zigbee, IrDA, CAN, LIN, TCP/IP, Webserver, USB, RFID, GPS;
- Имеются компоненты для LED, кнопок, выключателей, клавиатур, LCD, Graphical colour LCD, Graphical mono LCD, сенсоров, 7-сегментных дисплеев, внутренней EEPROM;
- Можно рисовать переднюю панель для разрабатываемого прибора.

Год выпуска: 2012
Платформа: х86
Язык интерфейса: Английский+Русский
Лекарство: Присутствует

Поздние версии:

Flowcode AVR 5.3.0


Установка:
В процессе инсталляции использовать ключ, сгенеренный с помощью FlowcodeV5(AVR)_CD_key
При первом запуске программы в окно активации скопировать имя и код, сгенерированный с помощью FlowcodeV5(AVR)_Activation_key.exe (необходимо вписать любое имя и сгенерировать код).

Матрица

- Код 8 - Программирование блок-схем для PIC и Arduino

Что такое Flowcode?

Flowcode - это усовершенствованная интегрированная среда разработки (IDE) для разработки электронных и электромеханических систем, ориентированная на микроконтроллеры, такие как Arduino, PIC и ARM, и надежные промышленные интерфейсы с использованием таких протоколов, как Modbus и CAN.

Не дружит с программистами

Те, у кого мало опыта программирования или совсем без него, могут использовать Flowcode без каких-либо препятствий.За считанные минуты новички могут приступить к разработке электронных систем с использованием графического интерфейса. Доступны режимы программирования. Flowcode идеально подходит для обучения и изучения основных принципов работы микроконтроллеров.

Flowcode экономит время

Интуитивно понятная среда разработки с графическим программированием дает пользователям Flowcode возможность быстро разрабатывать сложные системы. Инженеры используют Flowcode, потому что он позволяет быстро разрабатывать, ускорение процессов обучения разработке микроконтроллерных систем.

Тестирование и отладка

, встроенный в Flowcode, - это регистратор данных и осциллограф, которые упрощают процедуры тестирования и отладки. Это еще больше улучшается при сочетании технологии Ghost. возможности Flowcode с нашей аппаратной платформой E-blocks. Кроме того, Flowcode также совместим с внешним оборудованием, включая осциллографы, источники питания, сигнальные устройства. генераторы и многое другое.

Расширенное моделирование

Способность

Flowcode моделировать программы пользователя, а также совместимость с пакетами 3D CAD, такими как Solidworks, позволяет тем, кто разрабатывает электромеханические конструкции легко характеризовать и моделировать их.

Гибкость микроконтроллера

Flowcode дает вам возможность работать с несколькими вариантами микросхем простым и гибким способом.Перенос кода стал простым, что означает, что вы можете легко переключать целевые устройства, работаете ли вы с аппаратной платформой Arduino, PIC, Atmel AVR, ARM или Raspberry Pi.

.Матрица

- Flowcode 8 Программирование Arduino

Matrix - Flowcode 8 Программирование Arduino - Проектирование электронных систем Flowcode 8 Logo

Визуальные интерфейсы

Использование Flowcode позволяет программировать Arduino с различными интерфейсами визуального программирования, например блок-схема или режим блоков.

Отладка кода

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

Бесплатно для пользователей Arduino Uno

Пользователи Uno могут бесплатно компилировать на свое устройство, а также множество бесплатных компонентов для начала работы с Flowcode.

Попробуйте Flowcode сегодня

Зачем использовать Flowcode?

Аппаратная платформа для создания прототипов Arduino пользуется большой популярностью среди преподавателей и энтузиастов по всему миру. Flowcode может напрямую настраивать и программировать оборудование Arduino. Также доступно оборудование E-block, обеспечивающее доступ к модульным схемам plug and play, а также поддержку отладки.

  • Кодирование без синтаксиса
  • Перетаскивание значков кодирования
  • Моделирование проектов Arduino
  • Встроенное тестирование и отладка
  • Несколько режимов программирования
  • Редактирование и преобразование кода C
  • Простое переключение между устройствами
  • Перетаскивание библиотек программирования

Основание на модели Arduino

Flowcode - Графическое представление программы в виде блок-схемы, хотя C-код может быть добавлен пользователем.Функциональность расширена за счет компонентов, которые предлагать функции (макросы) для управления внутренними и внешними функциями оборудования. Дополнительные преимущества включают моделирование и отладку.

Arduino - добавляет встроенные и созданные пользователем библиотеки для расширения базовых функций основного языка C / C ++.

C / C ++ - Только базовая функциональность, хотя язык может быть дополнен добавлением встроенных функций.

Arduino в образовании

Matrix предлагает поддержку пользователям Arduino через нашу аппаратную платформу E-block2 (см. Наш комплект для разработки микроконтроллерной системы Arduino, слева ). Мы также предлагаем как обучение на месте в вашем центре, так и дистанционное обучение в рамках нашей учебной программы.Вы можете увидеть наши системы микроконтроллеров бесплатный курс или узнайте больше о том, как мы поддерживаем обучение с помощью визуального программирования Arduino, на нашей странице образования.

- Курс по микроконтроллерным системам

- Flowcode в образовании

Скриншоты Flowcode

1. Блок-схема и код C рядом

2.Моделирование руки робота

3. Отладка с помощью кода потока

4. Осциллограф потокового кода

.

Делайте больше, используйте Flowcode - Matrix Blog

Прошло почти три года с тех пор, как мы запустили Flowcode 6 в сентябре 2013 года. В то время это считалось самым передовым программным обеспечением для проектирования систем, которое когда-либо создавала команда разработчиков Matrix.

Тогда мы намеревались запустить множество новых интересных функций в программном обеспечении, которые, мы надеемся, помогут в росте числа пользователей, использующих Flowcode в качестве предпочтительного инструмента для программирования микроконтроллеров и электронных систем.

Этим летом Flowcode 7 выйдет на постоянно меняющийся и быстро развивающийся рынок с некоторыми действительно интересными новыми функциями.

Как видите, Flowcode остается идеальным для инженеров-электронщиков. Этот снимок экрана из ранней бета-версии Flowcode 7 может не отображать общий набор функций, которым будет обладать версия 7, но он дает вам представление о пользовательском интерфейсе, который вы найдете, и о том, чем он отличается от Flowcode 6 и предыдущих версий.

Дальнейшее путешествие

С хорошо налаженными маршрутами в образовании, с Flowcode 6 было решено, что постоянное слияние различных направлений инженерии, включая механику, тестирование и электронику, приведет к появлению ряда новых функций, которые мы представили.Например, тенденция к совместному изучению электроники и механики в образовании предполагала, что Flowcode должен больше привлекать инженеров-механиков, так же как и инженеров-электронщиков. В результате мы ввели первую системную панель 3D и 3D-моделирование в Flowcode 6, что дало большой эффект.

Одним из наиболее быстрорастущих рынков является количество инженеров-электронщиков и инженеров-испытателей, использующих Flowcode для тестирования и отладки своих программных проектов. Имея это в виду, мы представили новую технологию, известную как Ghost, которая обеспечивает журнал в реальном времени состояния всех контактов на микроконтроллере, пока программа Flowcode работает на устройстве, встроенном в специальное оборудование Matrix.

Также с появлением Flowcode 6 появилась расширенная библиотека компонентов, в которую вошли многие новые электронные компоненты и компоненты для моделирования. Теперь пользователи могут создавать свои собственные электронные компоненты и добавлять их в свою библиотеку.

Итак, что дальше?

С 2013 года эти тенденции продолжаются, но мы наблюдаем некоторые важные изменения в использовании микроконтроллеров как в образовании, так и в профессионалах по всему миру.

Точно так же, как мы видели 3 года назад, сейчас мы наблюдаем постоянно увеличивающееся слияние инженерных отделов и потребность различных инженеров в работе с микроконтроллерами.Например, в сфере образования издательство Pearson недавно опубликовало спецификации для своих новых квалификаций BTEC на уровне 3 (от 16 до 18 лет). В рамках этого инженеры, изучающие машиностроение, авиацию, производство, а также электрическую и электронную инженерию, должны изучить систему микроконтроллеров 120 часов. Flowcode был указан как один из немногих приемлемых языков программирования микроконтроллеров. Причина в том, что это облегчает работу учителям и ученикам - позволяет им делать больше и добиваться большего!

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

Зная об этом, мы поэтому значительно улучшили 3D-импорт моделей в Flowcode 7. Используя такие пакеты, как Solidworks, DesignSpark Mechanical и другие, пользователи могут быстро и легко разрабатывать 3D-модели и сборки, затем экспортировать файлы и открывать их в Flowcode.После этого легко определить характеристики электромеханических элементов конструкции, заставив двигатели двигаться, приводы и сервоприводы и т. Д.

Отладка и технологии Ghost также поднялись на новый уровень. Новый и улучшенный осциллограф будет запущен в Flowcode 7, который будет включать запуск. Это сделает технологию Ghost на оборудовании Matrix проще и быстрее, чем когда-либо прежде. Мы надеемся, что это революционизирует возможности как тех, кто изучает, так и разрабатывает продукты.

Еще одна функция, которая будет представлена ​​для Flowcode 7, - это профилирование кода . Эта функция показывает, когда значки были «нажаты» во время запуска моделирования, выделяя разделы кода, которые могут считаться избыточными, и другие части, которые выполняются чаще и могут нуждаться в оптимизации для повышения эффективности программы.

Профилирование кода - это захватывающая новая функция, которая позволяет пользователям понять, какие значки в их проекте были «популярны» раньше, чем другие.

Быстрая компиляция

Одним из недостатков Flowcode на протяжении многих лет была скорость, с которой Flowcode компилирует проекты для популярных целевых устройств PIC, включая 8- и 16-битные чипы.С Flowcode 7 это будет значительно улучшено. Мы работали с Microchip, чтобы обеспечить включение компиляторов Microchip XC в следующую версию, что повысило скорость компиляции устройств PIC более чем в десять раз.

Еще для профессиональных инженеров

С тех пор, как мы запустили Flowcode 6, количество профессиональных пользователей быстро увеличилось. Сейчас, когда тысячи профессиональных инженеров используют Flowcode на работе и дома, для нас всегда было важно разработать структуру лицензирования, которая бы справедливо лицензировала этих пользователей и подходила им.Имея это в виду, мы представляем новый метод лицензирования . Для образовательных пользователей это останется в основном таким же, как и всегда, но профессиональные пользователи теперь смогут адаптировать лицензии специально для удовлетворения своих требований, добавляя поддержку отдельных устройств, функции и дополнительных пользователей к своей лицензии с постепенным увеличением затрат.

Кроме того, мы добавляем новую впечатляющую поддержку устройств с Flowcode 7. Впервые мы будем поддерживать устройства PIC32 от Microchip - диапазон микроконтроллеров, популярность которых растет, особенно среди инженеров, ищущих микроконтроллер с большей вычислительной мощностью, памятью и периферийными устройствами.

Поддержка на всем пути

Одним из ключевых новых предложений в Flowcode 7 станет долгожданное увеличение на помощи, поддержки и руководства . Мы продолжим предлагать полезные форумы Matrix, в которых работают наши инженеры и эксперты, а также представим пользователям автономные файлы справки. Мы также обновим вики-сайт Flowcode, чтобы отразить наши разработки по Flowcode 7, а также предоставим пользователям доступ к бесплатным онлайн-курсам по Flowcode, которые дадут им возможность начать свои разработки и разработки и провести некоторые тестовые программы. и примеры.Руководство по началу работы также даст тем, кто совершенно не знаком с Flowcode, преимущество в использовании среды.

Хорошо выглядит

Что-то, что мы определили с самого начала разработки Flowcode 7, - это необходимость вступить в современную эру разработки программного обеспечения и взглянуть на с новым внешним видом, ощущениями и пользовательским интерфейсом для Flowcode. Мы изучили мнения ряда существующих пользователей Flowcode. Мы также приняли во внимание то, как другое программное обеспечение обеспечивает удобство навигации и удобство для пользователя, и разработали новый пользовательский интерфейс, который, мы надеемся, предоставит вам; больше пространства для разработки, улучшенная графика, улучшенная поддержка устройств с сенсорным экраном, простота (через режимы для начинающих и экспертов) и более чистый вывод кода C. . Значки теперь можно настраивать и по цвету. , что дает гораздо больший контроль над внешним видом программ, создаваемых пользователями. Это может происходить глобально за счет принятия различных «схем», или значки могут быть индивидуально окрашены, чтобы выделить важные части вашего кода.

Бесплатная версия - без улова!

Хотя Flowcode по-прежнему будет предоставлять профессиональным и образовательным пользователям все, что им требуется от расширенной среды разработки графического программирования, у нас также есть кое-что новое и захватывающее для тех, кто хочет проверить возможности Flowcode.Мы собираемся предложить полностью бесплатную версию Flowcode 7. Бесплатная версия будет ограничена - с точки зрения подпрограмм и подпрограмм, которые пользователи могут разрабатывать, доступных компонентов, целевых устройств, для которых пользователи могут компилировать код и возможность использовать программное обеспечение в коммерческих и многопользовательских целях (для обучения), но это даст пользователям фантастическую возможность получить хорошее представление о возможностях, одновременно создавая несколько полезных и интересных проектов.

Как видите, с Flowcode 7 есть что порадовать. Мы будем поддерживать те же основные функции программного обеспечения, улучшая при этом внешний вид, возможность делать больше с Flowcode для инженеров-механиков и инженеров-испытателей, а также улучшение удобства использования по сравнению с любой другой предыдущей версией.

В ближайшие недели следите за появлением ряда более подробных статей от нас, в которых будет подробно рассказано о планах Flowcode 7 и его возможностях.

Flowcode 7 будет доступен на сайте www.matrixtsl.com этим летом. Следите за официальной датой запуска, которая будет объявлена ​​в ближайшее время.