АЗЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ - FlowCode_V3
|
|
NOPROBLEM | Дата: Вторник, 16.06.2009, 00:54 | Сообщение # 121 |
Лейтенант
Группа: Проверенные
Сообщений: 66
Статус: Offline
| Quote (Melvin77) Я на сколько понимаю порты целиком или частично необходимо объявить входами или выходами ну с этим предположим немного понятно хотя и не совсем, а как быть если я не хочу подключать диоды или кнопки?, мне достаточно мигания квадратиков, Как только Вы подключаете в алгоритм периферию и проставляете в ее свойствах нужные выводы, ваша миссия закончена! ФК при компиляции сделает нужные инициализации корректно. А не хотите ничего подключать - Ваше дело! Она проэмулирует и без выхода на выводы, ей это по барабану Quote У меня при входе в меню Chip-Configure появляется окно в котором можно сконфигурировать чип только лиш записью шестьнадцатиричных чисел, а как более разумным способом это сделать как хелпе написано. Это конфигурационное слово кристалла, с указанием типа генератора, ВочДогТаймера, задержки программы при включении питания и прочей ерундой, которая в новых чипах как грибы растет. В нем выводы не конфигурируются. Оно не входит в ХЕКС-файл и его у Вас запросил пристроеный к ФК программатор. Другие программаторы настраиваются, установкой значений фичей в выпадающих меню. Quote а как подключить подтяжку выводов порта. Только вставочкой ассемблерной или С, иначе будет состояние по включению. В любом случае даташит смотреть надо. Quote а нет ли русика для версии 3.3.5.45 для АВР? Вроде на казусе все было, если не почистили в рамках борьбы с пиратством
|
|
| |
Girsan | Дата: Пятница, 26.06.2009, 21:00 | Сообщение # 122 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| приветствую! Тоже вдохновился прогой ФК и решил наваять прогу для работы(необходимо включать и отключать освещение большим кол-вом выключателей и если забыли выключить свет откл.его через 30мин.т.к. питание от аккумуляторов) Но вот не совсем уверен в правильности настройки таймера если делетель 1:256 то подпрограма будет вызыватся 15 раз в сек.тогда переменная timer должна быть > 27000 или я не прав? ну и хотел бы услышать оценку составления алгоритма, старался учесть советы NOPROBLEM.
|
|
| |
vvvvvv | Дата: Суббота, 27.06.2009, 22:04 | Сообщение # 123 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| перевёл хелп на русский к FlowCode_V4 можно менять хелп в проге
|
|
| |
NOPROBLEM | Дата: Воскресенье, 28.06.2009, 09:14 | Сообщение # 124 |
Лейтенант
Группа: Проверенные
Сообщений: 66
Статус: Offline
| Quote (Girsan) (необходимо включать и отключать освещение большим кол-вом выключателей и если забыли выключить свет откл.его через 30мин.т.к. питание от аккумуляторов) Но вот не совсем уверен в правильности настройки таймера если делетель 1:256 то подпрограма будет вызыватся 15 раз в сек.тогда переменная timer должна быть > 27000 или я не прав? ну и хотел бы услышать оценку составления алгоритма, старался учесть советы NOPROBLEM. Ну, для начала, поправьте в свойствах прерываний прерывания от тактового генератора, а то оно по умолчанию настроено на прерывания от сигнала на ножке Т0СКI. Потом, у Вас в последней проверке должно быть условие не timer>1 а timer>27000 (видимо это Вы для отладки при эмуляции оставили) Но я бы сделал в прерываниях двухуровневый байтовый счетчик. После инкремента таймера поставил бы проверку. если таймер=0, то инкремент таймер2;(это будет каждые 15с) потом проверку таймер2, если он больше 120, то флаг=1. А в основной программе вместо timer>1 проверять флаг>0, и не забыть его там же сбросить. Вроде более громоздкий путь, но если посмотреть асемблерный код, он будет много короче. Дело в том, что интеджер все время оба байта таскает и сравнивает, а нам это почти всегда без надобности. Ну потом иногда и интеджера может не хватить, тогда уж придется наращивать. А вообще, думаю, здесь вполне уместно восхититься ФК! Ну какой другой язык позволит за 3 минуты чужую программу понять? Да и свою, тоже А здесь смотришь на алгоритм, квадратики подвигал, вроде оптимизировал, проверил логику эмуляцией и в кристалл
|
|
| |
Girsan | Дата: Понедельник, 29.06.2009, 22:25 | Сообщение # 125 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| NOPROBLEM спасибо за совет переделаю обязательно.
|
|
| |
Melvin77 | Дата: Вторник, 30.06.2009, 02:12 | Сообщение # 126 |
Рядовой
Группа: Пользователи
Сообщений: 10
Статус: Offline
| Доброго времени всем. ВСЕ СДАЮСЬ! У кого нибудь есть эта програмуля нормально леченаая с людскими таблетками если можно с русиком. Киньте куда нибудь на файлообменник все в куче если можно с простейшей инструкцией по установке. А то выходит какаято странная вещь, на КАЗУСЕ набрал кучу версий в принципе все что предлагалось и таблеток и получается что версия одна, таблетка от другой версии, русик от третьей каша какаято. Вроде содрал версию 3.3.5.45 и таблетку к ей и русик к ей и зловредный Avast не матюкается, а получилось как всегда. Только начал възжать в эту абалденную вещь а она пишет "Это демонстрационная версия Flowcode ограничена 4 макроопределение и 16 знаков в макрокоманду. пожалуйста покупайте полную версию Flowcode чтобы удалить эти ограничения." Все это относится к AVR, так случилось что я не работаю PICами о чем начинаю уже сожалеть, надож было придурку дать себя убедить что AVRы такие класные контроллеры. И еще вопрос, а 4ю версию для AVR еще не сделали?
Сообщение отредактировал Melvin77 - Вторник, 30.06.2009, 02:18 |
|
| |
dandiv | Дата: Вторник, 30.06.2009, 12:09 | Сообщение # 127 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Здравствуйте. Пытаюсь разбираться, но что-то не совсем получается. Хочу управлять шаговым движком, нужно чтобы программа проверяла нажатие клавиш и в зависимости от того какая нажата крутился либо по часовой либо против. Причём проверка клавиш в самом начале, а потом уже движок крутится не обращая внимание на кнопки. Вот сваял проектик, вроде работает и в железе тоже. Вот только не знаю правильно я всё сделал или нет. И не пойму как оптимизировать скорость вращения (с помощью задержек как у меня или каким то другим образом)
|
|
| |
kang2k | Дата: Вторник, 30.06.2009, 12:22 | Сообщение # 128 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Offline
| Господа, помогите пожалуйста... Сделал в FlowCode программу, таймер... цифровыми кнопками выставляется время задержки, * = пуск, # = стоп Работает нормально... Создаю проект в протеусе, не работает! Кнопки отрабатываются нормально, но не правильно работает индикация и не меняется разряд! В прикрепленном архиве проекты FlowCode и Протеус, и скомпилированный файл!
Сообщение отредактировал kang2k - Вторник, 30.06.2009, 14:00 |
|
| |
NOPROBLEM | Дата: Вторник, 30.06.2009, 20:28 | Сообщение # 129 |
Лейтенант
Группа: Проверенные
Сообщений: 66
Статус: Offline
| Quote (Melvin77) ВСЕ СДАЮСЬ! Вот только что на Казусе уважаемый sa502 выложил полный комплект для АВР Казус
|
|
| |
Melvin77 | Дата: Среда, 01.07.2009, 08:16 | Сообщение # 130 |
Рядовой
Группа: Пользователи
Сообщений: 10
Статус: Offline
| NOPROBLEM, Огромное спасибо. Только он не написал к какой это версии. А 4 версию для AVR еще не придумали?
|
|
| |
NOPROBLEM | Дата: Среда, 01.07.2009, 08:48 | Сообщение # 131 |
Лейтенант
Группа: Проверенные
Сообщений: 66
Статус: Offline
| Quote (Melvin77) Только он не написал к какой это версии. Уже написал. К последней, той что на сайте
|
|
| |
dandiv | Дата: Четверг, 02.07.2009, 06:57 | Сообщение # 132 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Про шаговик никто не отвечает...но да ладно - работает и ладно. Теперь задумался о термометре на ds1820, но так понял что во FlowCode 4 это невозможно? Или я ошибаюсь?
|
|
| |
NOPROBLEM | Дата: Четверг, 02.07.2009, 12:44 | Сообщение # 133 |
Лейтенант
Группа: Проверенные
Сообщений: 66
Статус: Offline
| Quote (dandiv) Про шаговик никто не отвечает...но да ладно - работает и ладно. Вот и ответ на вопрос! Работает - значит проавильно Что по части оптимальности, то возражений два: 1. зачем каждый цикл проверять выполнение условия, которое не может меняться? Я имею в виду направление. Надо было каждое направление своим собственным циклом замкнуть. 2. Я уже писАл здесь, что дилей - дурной оператор. Он полностью сжирает ресурсы процессора, во время его выполнения ничего больше делать нельзя. ИМХО- его применение почти всегда - признак крайнего инфантилизма. (извините, если кого задел, это не ругательство, а термин) Еще его применяют, если задача предельно проста и от процессора в это время требовать нечего. Во всех прочих случаях можно применять формирование временных интервалов пользуясь аппаратом прерывания по переполнению таймера. Выше в этой ветке я в нескольких постах приводил подробный анализ решения, правда несколько отличных задач. Если в них разобраться, то управление перебором фаз можно сделать быстро, надежно и, практически без загрузки процессора. То есть более 95% времени процессор будет не отвлекаясь делать что ниьудь другое, не менее полезное Добавлено (02.07.2009, 12:44) ---------------------------------------------
Quote (dandiv) Теперь задумался о термометре на ds1820, но так понял что во FlowCode 4 это невозможно? Или я ошибаюсь? ФК - прилада для программирования микропроцессоров ПИК, АВР или АРМ, а ds1820 к ним не относится. Но если надо запрограммировать микропроцессор для обработки и индикации данных, полученных с ds1820, то пожалуйста. Надо только знать формат и протоколы
|
|
| |
dandiv | Дата: Четверг, 02.07.2009, 20:13 | Сообщение # 134 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| На счет 1: Просто я задумывал при включении питания движок не крутится до тех пор, пока что-нибудь не нажмут. На счет 2: Сейчас почитаю и попытаюсь переварить эту информацию - не совсем дружу с прерываниями, но похоже нужно На счёт DS1820 - я хотел мерять температуру контроллером с DS-ки и включать подогрев при определённой температуре. Собрался ставить камеру наблюдения с управлением шаговиком (программу доработаю) и для зимы управлять подогревом бокса камеры...
|
|
| |
Girsan | Дата: Суббота, 04.07.2009, 21:54 | Сообщение # 135 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| блин, я тоже столкнулся с несоответствием реальной работы и эмуляцией в ФК , в чем может быть проблема? Русских букв не использовал, програмка приметивненькая а не работает.
Сообщение отредактировал Girsan - Суббота, 04.07.2009, 22:21 |
|
| |
|