Самсусамыч, ну и кто в твоем хексе увидит твой алгоритм?
Я пишу программы не для демонстрации своего алгоритма. Так как не являюсь виртуозом в данном направлении (даже в ближайшем приближении). Это пусть профессионалы демонстрируют меж собой свои умения. Для меня главное, чтобы программа корректно работала в железе как ранее задумано. А как это написано не столь важно. Да и исходники написанные в АВ мало кому помогут понять что в алгоритме реализовано. Или Вы забыли, что я пишу исключительно на АВ (Algorithm Builder) и другими языками программирования не владею? Ранее Вы с лёгкостью дизассемблировали мой код, а что случилось в этот раз? Стало лениво? При Ваших знаниях и умениях, Вам-то он зачем? Ткнуть меня носом, где я делаю что-то не так глядя с Вашей колокольни? Так я Вам сразу скажу, я много чего делаю не так… главное алгоритм работает в железе как тому требуется. И только этот факт мне приносит удовольствие.
Что касается макета… кому интересно, тот соберёт в железе или в протеусе… а кому не интересно, то о чём тогда разговор…
Ну а для АВ_шников то вот исходник крайней версии прошивки. Только тапками не закидывайте...
NStorm, выше уже писал. Когда то и я учился на подобных обсуждениях. И также же как ТС, задам вопрос, мэтры подтягиваются и началось. Так тема живёт своей жизнью. На данный момент ничего плохого не происходит. Скажете, создадим новую тему. Есть но, новый топик будет не жизнеспособен. Потому что нужны конкретные примеры. В данной теме он есть. Есть ТЗ от ТС, и уже есть примеры.
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Ivanoff-iv, аплодирую стоя! Даже не спрашиваю , как до этого дошёл. Сколько смотрел роликов и от камрада libral1973 , и в книгах Лебедева и Белова -- близко похожего не было, чтобы хоть как-то оттолкнуться или провести аналогию. Так что , " кирпичик для лего " получен и будет заложен. P.S. Во истину, сколько людей -- столько и мнений, и каждый прав, и мнение каждого имеет место быть. ВСЕМ СПАСИБО! Берегите себя и всех близких.
Рад, что кому-то мой метод понравился, а, т.к. возможно теперь его применять буду не я один, то должен выложить не только преимущества, но и обнаруженные нюансы метода: 1) используемые в потоках переменные (все, которые должны пережить паузу (а точнее перезапуск) потока) должны быть глобальными или статик. 2) кодевижен не очень хорошо разделяет области видимости переменных - имена переменных в разных потоках не должны быть одинаковыми (это не косяк метода, это косяк кодевижена). 3) внутри цикла for паузу поставить не получилось (пока не знаю почему), но for можно заменить на while, там всё работает. 4) не выйдет поставить задержку внутри функции, вызываемой из потока. Объявить поток в потоке, или в вызываемой из потока функции теоретически можно, но работать оно будет непредсказуемо. (т.к. чтобы правильно работали задержки в потоке поток должен вызываться регулярно, а поток внутри потока уже не будет вызываться регулярно) 5) семафоров и прочего тут нет, взаимодействие между потоками осуществляется через общие переменные. в т.ч. и приостановка потока - делается цикл с задержкой, условие цикла меняется извне потока. 6) метод проверен в кодевижене и в алгоритм билдере, в других средах не проверялся... как проверю отпишусь.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Посмотрел ваши примеры, обсуждение. ТС по ТЗ так и не отписался. Как быть в той ситуации, когда нажаты несколько кнопок. Предлагаю ТС-у все таки расколоться и пояснить как должны работать все кнопки на его устройстве. А пока предлагаю усложнить задачу. Несколько кнопок нажимать нельзя.
А пока предлагаю усложнить задачу. Несколько кнопок нажимать нельзя.
А если нажать, то что будет?
У меня два варианта на любой вкус… в первом можно нажимать любое количество кнопок в группе и они будут отрабатывать. Во втором варианте можно тоже нажимать любое количество кнопок в группе, но отработает только первая нажатая в группе, остальные в группе будут игнорироваться.
Да, всё так. раньше для выхода из потока была команда brake; но если пауза стояла в цикле, то брейк выходил из цикла, а не из потока... пришлось добавить метку.
Добавлено after 2 minutes 44 seconds: Dimon456, а чем ты дефайны развернул? и в какой ИДЕ?
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Demiurg, в моём проекте несколько нажатых кнопок не рассматривалось за ненужностью. Генератор ЗЧ, одна группа из 4-ёх кнопок -- выбор диапазона, другая -- делитель, коммутация -- реле Panasonic TX212 , разумеется, с ключами. Группы между собой независимы, одновременное нажатие в разных группах ничего особенного не даст, только штатное включение в каждой группе. А в пределах одной группы -- так сверх-одновременно не получится, с опозданием хоть на микросекунду последняя кнопка и сработает. По сути -- кнопка-защёлка, без антидребезга . 9-ая кнопка -- режим МЕАНДР. Моргунчик для большей наглядности, знать бы , что так архи-сложно -- можно было и не делать
Sergbern, можно реализовать отработку множественного нажатия кнопок по разному: 1) "по старшинству" - кнопка с большим приоритетом отменяет действие кнопок с меньшим (так у тебя сделано) 2) "первая" - отрабатывается только первая нажатая кнопка,(легко сделать, организовав 2 потока (по потоку на каждую группу кнопок) и по маленькому циклу внутри потока - для каждой кнопки. В зависимости от условия цикла остальные кнопки могут блокироваться либо до отпускания этой кнопки (1 группа) или до отпускания всех кнопок группы (2я группа))
3) "последняя" - тут нужно добавить переменную состояния кнопок на прошлом витке, находить изменения состояния кнопок и по ним зажигать светодиоды.
присоединяюсь к вопросу о генераторе: нужно ли его в этот мк добавить?
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
У ТС три группы кнопок. Все независимые. Диапазон. Уровень сигнала. Меандр. Получается, что у первых двух групп в рамках группы одновременное нажатие кнопок недопустимо. А одновременное нажатие трех групп допустимо. А это меняет всю картину... Я недаром просил ТЗ с самого начала.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Сейчас этот форум просматривают: Google [Bot], Serj_51 и гости: 21
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения