Технический Портал Левши Пятница, 29.03.2024, 05:05
| RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: terpelivi, VasylYE  
ТЕХНИЧЕСКИЙ ФОРУМ » ЭЛЕКТРОНИКА » МИКРОКОНТРОЛЛЕРЫ » Использование макросов в FlowCode (Все вопросы по макросам сюда)
Использование макросов в FlowCode
VasylYEДата: Воскресенье, 08.02.2009, 14:03 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 263
Награды: 1
Статус: Offline
Выделил вопрос в отдельную тему, так как думаю, что по ней есть много вопросов

А нам своє робить!
 
carworkerДата: Воскресенье, 08.02.2009, 14:03 | Сообщение # 2
Ефрейтор
Группа: Проверенные
Сообщений: 20
Награды: 1
Статус: Offline
Здравствуйте! Мне как чайнику Flowcode как раз самое то. Начал осваивать AVR. Проэкт на Atmega 16 + LCD 2X16 + кнопки + диоды. Большая просьба - раскажите подробно про макросы. Например макрокоманда инициализации ЖКИ, очистки ЖКИ, вообщем все как написано в хелпе. Где эти макросы? Что в окне "свойства" надо указать? Импорт макроса - как и откуда его осуществить? Или надо самому писать С код? Далее - вывод текста на ЖКИ с помощью макроса или как? Вообщем большая просьба раскажите как работать с макросами и с их свойствами.
 
VasylYEДата: Воскресенье, 08.02.2009, 14:35 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 263
Награды: 1
Статус: Offline
FlowCode имеет два вида макросов - просто макросы, и макросы компонентов. Макрос - это часть кода, которая вызывается программой. Макросы компонентов обычно уже готовы и находятся в стандартных библиотеках для каждого компонента.
Макросы компонентов назначены для управления внешними компонентами (светодиоды, кнопки , ЖКИ, АЦП, семисегментники и т.д.)
Сначала рассмотрим макросы компонентов.
Наверно наиболее простым является макрос для светодиода. Он может выполнять всего лишь две функции - включить светодиод (LEDOn) и выключить (LEDOff).
Создадим наиболее простую схему - к порту А МК подключим 2 светодиодов.
Создадим цикл (Loop).
В цикле мы будем сначала включать правый светодиод, потом его гасить, включать левый, и тоже его отключать.
Бросаем в цикл елемент Component Macro. В нем мы включим четыре правых сд. Когда мы откроем этот элемент, увидим, что в списке Component есть все компоненты, используемые в схеме, то есть наши светодиоды (LEDs1). Выбрав их, увидим, что для них есть 2 макроса (включение и выключение). Вибыраем макрос LEDOn. ниже видим, что для него необходим параметр WhichLED(), который указывает, какой светодиод будет включен. Напишем туда 0.

аналогично еще добавляем 3 макроса.
Прикрепления: 9934228.gif (14.2 Kb) · 8662958.gif (9.2 Kb)


А нам своє робить!
 
любительДата: Суббота, 14.02.2009, 20:51 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 44
Награды: 0
Статус: Offline
следующим наиболее востребованным макросом после светодиодов будут кнопки.пожалуйста поподробней их опишите.
 
VasylYEДата: Понедельник, 16.02.2009, 00:04 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 263
Награды: 1
Статус: Offline
В архиве прикрепляю проект с небольшим описанием
при нажатии на кнопку клавиатуры на дисплей ЖКИ выводится название нажатой кнопки.
можно перекомпилировать проект под любой МК лишь бы было два свободных порта.
Задавайте пожалуйста вопросы
Прикрепления: fcsample.rar (14.9 Kb)


А нам своє робить!
 
любительДата: Воскресенье, 22.02.2009, 15:01 | Сообщение # 6
Лейтенант
Группа: Проверенные
Сообщений: 44
Награды: 0
Статус: Offline
великолепный проект, прекрасный.НО.но слишком сложный для начала.нет даже несложный, нет, сдесь скорее другое.отсуствует то, что было в первых полетах.пошаговый режим.открываем то то, пишем то то, получаем то то.к каждому шагу коментарий.учиться сложно.учить многократно сложнее.и писанины, к сожалению тоже значительно больше.проект работает отлично, красиво.но описание небольшое.если его расширить - получиться полет четвертый.самое оно.

Добавлено (22.02.2009, 15:01)
---------------------------------------------
приветствую VasylYE.просмотрел внимательно еще раз эту ветку.в результате есть пожелания.во все времена наиболее простым, эффективным и быстрым был путь от простого к сложному малыми шагами с пониманием и осмыслением каждого предыдущего шага. с тем что бы становиться на него как прочный фундамент.и при необходимости вернуться на шаг два, повторить материал.и уверенно идти дальше.по моему разумению именно такой путь (не самый легкий) приведет в конечном итоге к наилучшим результатам, и привлечет наибольшее количество последователей и сторонников.я бы предложил такую последовательность шагов.включение светодиодов мы уже изучили.включение задержек мы уже изучили.это простые небольшие шаги которые закладывают надежный фундамент.следуюший шаг-обьединение двух предыдущих простых шагов в простой проект, который явиться ступенькой для последующих шагов.например: закладываем в проект светодиоды, задержки. и кнопки.и много не надо.парочку достаточно.далее алгоритм такой: ничего не нажато, ничего и не происходит.нажата одна кнопка, мигнул соответствующий светодиод.нажата другая, соответственно мигнул другой.нажаты обе кнопки.мигнули оба светодиода на выдержку в два раза больше.
развитие этого простого проекта, следующие последовательные шаги. нажата одна кнопка, обработка дребезга контакта, и только потом мигание соответствующего светодиода.нажата другая кнопка, обработка дребезга контакта, мигание другого светодиода.нажаты две кнопки, обработка дребезга дву кнопок. оба светодиода мигнули на выдержку в два раза больше.следующий шаг, развитие предыдущего проекта.все то же самое, но обработка дребезга типичных контактов. (отличающихся как временем дребезга так и другими характеристиками).например: обработка дребезга контактов герконов, микровыключателей, реле, неизвестных (плохих) контактов с длительным дребезгом.
развитие этого проекта.обработка прерываний.итак два светодиода, выдержки, кнопки.какая либо кнопка(и) нажата, либо на нажата.ничего не происходит.изменение состояния кнопки на противоположное, мигание соответствующего светодиода.изменение состояния другой кнопки на противоположное, мигание другого светодиода.изменение состояния двух кнопок сразу.мигание светодиодов с выдержкой в два раза больше.
то же самое аналогично с дребезгом.и это будут уроки не хуже (а во многом и лучше) чем у известного автора.

 
VasylYEДата: Суббота, 28.02.2009, 17:46 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 263
Награды: 1
Статус: Offline
Для обработки дребезга кнопок не нужно ничего придумывать - FlowCode будет автоматически его обрабатывать, если мы в настройках кнопок укажем время дребезга (см. рисунок)
Алгоритмы, которые вы описали, - это уже логика самой программы, которая строится в основном с помощью таких блоков как Decision (т. е. условия).
Прикрепления: 7046620.gif (12.4 Kb)


А нам своє робить!
 
САНЕК2Дата: Воскресенье, 23.08.2009, 19:53 | Сообщение # 8
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Статус: Offline
Уважаемый VasylYE.
Пожалуйста,дайте несколько проектов с самыми простыми диодами,что бы поморгать,побегать,короче что то очень простое для чайника.

Разобрался!!!! Моргать и бегать можно научиться за один день biggrin

Сообщение отредактировал САНЕК2 - Вторник, 25.08.2009, 06:34
 
VikulKHДата: Пятница, 11.09.2009, 03:23 | Сообщение # 9
Рядовой
Группа: Пользователи
Сообщений: 1
Награды: 0
Статус: Offline
Здравствуйте!
Подскажите неучу, нигде по форуму не видел вопросов, примеров по работе с ЕЕПРОМ.
Есть необходимость в начале программы записать значения, а потом считывать их и чо-нить мудрить.
Как это делать в Flowcode, подскажите п-ста.
Заранее благодарю. sad
 
NOPROBLEMДата: Вторник, 15.09.2009, 16:49 | Сообщение # 10
Лейтенант
Группа: Проверенные
Сообщений: 66
Награды: 0
Статус: Offline
Quote (VikulKH)
Есть необходимость в начале программы записать значения, а потом считывать их и чо-нить мудрить.

ИМХО все очевидно! Кликаешь по значку EEPROM слева и получаешь на панели окошко с индикацией содержимого памяти. Когда надо в алгоритме вставляешь макрос компонентов, у тебя там обязательно будет присутствовать и EEPROM. У него всего две функции читать и писать. А что еще может быть?
Надо указать номер ячейки (числом или переменной) и куда переменную считать. Если пишешь, то можно записываемое число указать. Все просто и естественно biggrin
Ну, вот для конкретности программка, которая память забивает убывающими числами подряд
Прикрепления: EEPROM.fcf (3.5 Kb)
 
vvvvvvДата: Пятница, 16.10.2009, 20:54 | Сообщение # 11
Рядовой
Группа: Пользователи
Сообщений: 8
Награды: 0
Статус: Offline
помогите пожалуйста не получаю текст на выходе тх в протеусе в терминале.
В FlowCode вроде всё нормально компилится и hex файл мне кажеться что то с макросом или RS232 портом в флоукоде что то не так
проект прилогаю:
Прикрепления: proekt.rar (66.8 Kb)
 
R360Дата: Понедельник, 13.12.2010, 15:25 | Сообщение # 12
Рядовой
Группа: Пользователи
Сообщений: 1
Награды: 0
Статус: Offline
А может кто - нибудь что - то сказать о макросах прерываний и когда они вызываются?
 
NOPROBLEMДата: Четверг, 24.02.2011, 19:39 | Сообщение # 13
Лейтенант
Группа: Проверенные
Сообщений: 66
Награды: 0
Статус: Offline
Quote (R360)
А может кто - нибудь что - то сказать о макросах прерываний и когда они вызываются?

Макрос прерывания вызываются, прерывая корректно программу там, где произойдет событие, вызвавшее прерывание. После выполнени макроса программа корректно продолжит работу. Само прерывание настраивается в окне прерываний первым делом, когда в начало программы вставляется окно инициализации прерывания. Обычно все прерывания настраиваются раз и навсегда вначале программы, до начала ее работы.
 
ТЕХНИЧЕСКИЙ ФОРУМ » ЭЛЕКТРОНИКА » МИКРОКОНТРОЛЛЕРЫ » Использование макросов в FlowCode (Все вопросы по макросам сюда)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024