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