Всем доброго! Подсобите страждущему, решившему на старости лет " запрыгнуть хоть на последнюю ступеньку последнего вагона " по части написания программ. База: CVAVR 3,12 , ATMEGA8, Proteus8. Задача в следующем: группа 4кнопки-4светодиода ( для краткости в дальнейшем 4кн-4сд) с зависимым включением, таких групп две, сами группы между собой независимы. С этим проблем нет. Но нужна ещё 9-ая кн-триггер и к ней 2 сд: нажали кн -- один сд загорелся и второй заморгал, нажали ещё раз -- оба сд потухли. С этим моргунчиком и проблема: когда он моргает, все 9 кн отзываются нестабильно из-за зедержек в его параметрах. Подскажите, как решить! Сведующему камраду,навернякя, просто. Для наглядности в архиве исходник и файлы для протеуса. С уважением.
сделайте прерывание по таймеру к примеру раз в 1мс, на опрос кнопок и моргание светиков заведите счетчики которые будут инкрементироваться в прерывании таймера, в главном цикле проверяйте эти счетчики и выполняйте нужный код когда они досчитали до нужного значения
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Вопрос начинающего. Если делать традиционными методами, ТС ничего не поймёт. Поэтому, единственное правильное решение, показать ТС-у, что такое псевдопараллельные процессы, программные таймеры и конечные автоматы. Все остальные методы в данный момент идут лесом. Сложно и бесконечная простыня из попыток скрестить ужа с ежом.
Я предлагаю ему способ который более доступен для понимания. Автоматное программирование гораздо проще и в разы сокращает время на создание проектов. Предел есть. Но ТС-у до него далеко.
Demiurg, вы что - смеетесь? Вы бы еще FreeRTOS сюда замутили. Что бы поморгать светодиодом или включить выключить в зависимости от состояния ножки порта нужно что перелопатить кучу книг и литературы?
Давайте так, вам как приготовить: простенький код (типа if else) или по сложнее (с использованием указателей) и что характерно код на одну страницу уместится?
"Dimon456". Конечный автомат отдельная сущность. Никакого сравнения с диспетчерами и ртос. Конечный автомат сам по себе и то и другое. Я знаю, что вы можете. По своему. ТС-у до этого гораздо дальше, чем на КА. Давайте прекратим бесполезный спор. А если вы хорошенько подумаете, то согласитесь со мной. Конечно, же при условии, что используете в своих проектах конечные автоматы. Если же нет, спор бесполезен и не продуктивен. Как вас, меня, так и ТС с остальными участниками этого форума.
Самое просто именно решение вопроса ТС в одной единственной части - сделать вместо delay'я, неблокируемую моргалку на таймере. Или от обратного - кнопки на прерывания повесить. А остальное уже всё-таки, включая КА - уже дальше начинается имхо.
Все таки настаиваю на КА. У меня уже скелет накидан в уме, как делать. Но хотел бы для уточнения ответа ТС. Будет чёткое ТЗ, программу можно накидать и отладить в течении пары тройки часов. С оконечной отладкой на железе. На отладочной плате. Вот что такое конечные автоматы. Чёткий читаемый алгоритм. Скорость создания проекта. Как пример, именно затруднительный момент для ТС-а. На это уже есть умственная заготовка. Я жду описание первой части.
Повторяю, конечные автоматы сами себе и диспетчеры и ртос. Поймите именно этот момент. Автомат может запускать сам себя, другие автоматы, вложенные автоматы.
Ваш конечный автомат - это просто заготовка, его еще готовить надо, или смотреть как другие готовят. Вы просто раздуваете самый простой алгоритм, который занимает две-три строчки кода, не понятно во что - в большой огромный алгоритм с кучей переменных и составляющих. Возникает один вопрос - для чего?
Вы не правы по всем пунктам. Нужно быстро сляпать рабочий проект. Мы не искусством занимаемся. Не самолюбованием. А смотрите как я красиво написал. Или смотрите, как я сэкономил пару байтов. Есть задача, её нужно быстро решить. Требования к проекту. Псевдопараллельность. Модульность. Несколько таймеров (мы то понимаем, что это программные таймеры). Быстрая сборка, компоновка кубиков. Скорость создания проекта. Конечные автоматы на данном проекте соответствуют всем пунктам. Спор закончен.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения