По заказу 2568
Предложение от исполнителя №130
❗Работает недавно❗
📚 Цифровые устройства и микропроцессоры
💰 700 ₽
💬 : оптимизации ровно до 50 тактов не обещаю (скорее близко к этому)
SYSTEM
S:21:15:38 28.05
R:21:15:39 28.05
Андрей Зуев начал диалог с Олег Мельниченко
Андрей Зуев
S:21:16:42 28.05
R:21:16:42 28.05
Отправил 0 вложений
Олег Мельниченко
S:21:16:59 28.05
R:21:17:00 28.05
🤖:Все подключились. Не забудь поздороваться)
Олег Мельниченко
S:21:17:10 28.05
R:21:17:10 28.05
вечер добрый
Андрей Зуев
S:21:17:30 28.05
R:21:17:31 28.05
вечер добрый
SYSTEM
S:21:19:12 28.05
R:21:19:13 28.05
Андрей Зуев выбрал исполнителем Олег Мельниченко
Олег Мельниченко
S:21:19:41 28.05
R:21:19:41 28.05
должен сразу предупредить, что сам лично эти машинные циклы не считал и оптимизации ровно до 50 пока не достиг и не уверен право, что вообще возможно. Быть может, достаточно просто по максимуму уменьшить число операций в коде?
Олег Мельниченко
S:21:19:48 28.05
R:21:19:49 28.05
2202 2032 6181 1881
Сбер
Михаил Андреевич Л.
По оплате пришлите чек, пожалуйста
700руб
Андрей Зуев
S:21:20:26 28.05
R:21:20:26 28.05
да, Михаил, вот как я писал, там можно, по идее, оптимизировать одну функцию
Андрей Зуев
S:21:20:42 28.05
R:21:20:42 28.05
после этого возможно что-то укортить
Андрей Зуев
S:21:21:17 28.05
R:21:21:17 28.05
но да, меня интересует максимально возможная оптимизация
одна функция есть и еще несколько идей, просто ну не уверен что так сильно смогу оптимизировать чтобы до 50 тактов, впрочем, надо ещё посмотреть прикинуть
Олег Мельниченко
S:21:23:15 28.05
R:21:23:15 28.05
принято
Андрей Зуев
S:21:23:55 28.05
R:21:23:56 28.05
хорошо, время до утра понедельника, 30 числа
Андрей Зуев
S:21:24:00 28.05
R:21:24:00 28.05
файлы все кинул
Андрей Зуев
S:21:24:06 28.05
R:21:24:07 28.05
если что, информируйте
Олег Мельниченко
S:21:26:05 28.05
R:21:26:06 28.05
работаем, да, чуть не забыл: кроме оптимизации, в коде также несколько немаловажных ошибок имеется, синтаксических по большей части - также заодно исправлю и укажу, впрочем, возможно, они уже и не интересуют
Олег Мельниченко
S:21:26:16 28.05
R:21:26:16 28.05
с ними просто программа не заработала бы
Андрей Зуев
S:21:27:26 28.05
R:21:27:26 28.05
Да, все верно, преподаватель нашёл одну, скрин сейчас кину. Комментируйте ваши шаги, пожалуйста, это очень важно для понимания, спасибо!
Олег Мельниченко
S:21:27:57 28.05
R:21:27:58 28.05
сделаем
Андрей Зуев
S:21:28:37 28.05
R:21:28:37 28.05
вот
Отправил 1 вложений
Олег Мельниченко
S:21:30:32 28.05
R:21:30:33 28.05
именно
Андрей Зуев
S:21:30:48 28.05
R:21:30:48 28.05
Понял
Олег Мельниченко
S:21:31:38 28.05
R:21:31:39 28.05
попрошу еще разок файлики все имеющиеся отправить, если не затруднит - код тхт и отчет сам, а то до меня не дошли похоже)
Андрей Зуев
S:21:31:57 28.05
R:21:31:57 28.05
Понял, сейчас
Олег Мельниченко
S:21:32:23 28.05
R:21:32:24 28.05
да и последнее - Олег, не Михаил, реквизиты просто не мои а админовские)
да к стати, можно еще таблицу истинности логических функций переключения триггера, ну D1 D2.. то есть из первого ДЗ попросить - просто убеиться что функции эти минимизированы максимально возможно
день добрый, докладываю о прогрессе: сократить окончательно удалось на 9 аж строк (то бишь 53 такта итого) но это без изменений остальных элементов кода, конечно, то есть чисто логические функции упростились и преобразовались а соответвтвенно и их вычисления
Андрей Зуев
S:16:08:51 29.05
R:16:08:52 29.05
Добрый день! Это уже очень хорошо! Возможно ли поменять остальные элементы кода?
Олег Мельниченко
S:16:08:56 29.05
R:16:08:56 29.05
одну функцию D2 упростил даже исходно, а без этого код бы упростился как раз максимум до 55 тактов, но, полагаю, оставлю лучший вариант) все изменения с комментариями (старался максимально подробно) в ворд файле
Олег Мельниченко
S:16:09:13 29.05
R:16:09:14 29.05
пожалуй да, но есть ли необходимость...
Андрей Зуев
S:16:09:18 29.05
R:16:09:18 29.05
Огромное спасибо!
Олег Мельниченко
S:16:09:38 29.05
R:16:09:38 29.05
сейчас скомпаную, или лучше в тхт тоже добавить?
Андрей Зуев
S:16:10:01 29.05
R:16:10:01 29.05
Необходимость есть, задание до 50 просто, сами понимаете
Андрей Зуев
S:16:10:12 29.05
R:16:10:12 29.05
Да, и туда, и туда, если можно
Олег Мельниченко
S:16:14:19 29.05
R:16:14:20 29.05
50? извиняюсь, почему-то 55 записал, моя промашка, сейчас подумаю еще конечно, но не уверен..
Андрей Зуев
S:16:14:35 29.05
R:16:14:35 29.05
Принял
Олег Мельниченко
S:16:18:16 29.05
R:16:18:17 29.05
да есть идеи конечно, можно в key 1и key2 (обработка синхроимпульса) функцию задержки убрать то бишь call del_200 и соответвтсвенно саму del_200 убрать из кода, так как она насколько я помню не обязательна (на макете функция анти-дребезг и так имеется для кнопки)
Олег Мельниченко
S:16:18:41 29.05
R:16:18:42 29.05
не уверен просто, что это зачтется, впрочем, лучше сделать чем не сделать, наверное)
Андрей Зуев
S:16:19:57 29.05
R:16:19:57 29.05
Вы можете сделать, условно говоря, 2 варианта: первый, это 53 Такта, как сейчас, а второй, радикально сокращённый, тот вариант, который вы предложили сейчас?
Андрей Зуев
S:16:20:06 29.05
R:16:20:07 29.05
На всякий случай, как говорится
Олег Мельниченко
S:16:20:25 29.05
R:16:20:26 29.05
принято, разумно
Андрей Зуев
S:16:20:54 29.05
R:16:20:55 29.05
ок!
Олег Мельниченко
S:20:01:52 29.05
R:20:01:52 29.05
так-с ну вот оно, извиняюсь за странные знаки вопроса в комментах - это MPlab под конец решил поломать весь мой код с кириллицей, но я как мог исправил - должно быть понятно, к слову, в ворде все пояснения по исправлениям
могу отправить архив с криво работающим проектом MPlab X, но не думаю, что он будет полезен)
Андрей Зуев
S:20:04:53 29.05
R:20:04:53 29.05
ой, Олег, спасибо большое!
Андрей Зуев
S:20:05:03 29.05
R:20:05:03 29.05
сейчас пойду разбираться
Олег Мельниченко
S:20:05:20 29.05
R:20:05:21 29.05
ну как говорится, рады помочь)
Андрей Зуев
S:20:05:27 29.05
R:20:05:27 29.05
а, не стоит, спасибо
Андрей Зуев
S:20:05:31 29.05
R:20:05:32 29.05
и еще к вам просьба
Андрей Зуев
S:20:05:57 29.05
R:20:05:57 29.05
можете пока не закрывать диалог, если вдруг завтра возникнет у меня к вам вопрос, чтоб оперативно задать
Олег Мельниченко
S:20:06:58 29.05
R:20:06:59 29.05
конечно, мы его и не закрываем, по крайней мере, до истечения срока давности)
Андрей Зуев
S:20:07:22 29.05
R:20:07:23 29.05
всё, хорошо, еще раз спасибо огромное!
Андрей Зуев
S:12:40:41 30.05
R:12:40:41 30.05
Олег
Андрей Зуев
S:12:40:50 30.05
R:12:40:50 30.05
Переменные не оптимально собираются
Андрей Зуев
S:12:40:54 30.05
R:12:40:54 30.05
Это прямая цитата
Андрей Зуев
S:12:41:00 30.05
R:12:41:00 30.05
Преподавателя
Андрей Зуев
S:12:41:22 30.05
R:12:41:22 30.05
Он имеет в виду код до 66-го
Андрей Зуев
S:12:41:42 30.05
R:12:41:42 30.05
И функции блокировки дребезга все же не в счёт…
Андрей Зуев
S:12:42:24 30.05
R:12:42:24 30.05
Поэтому нужна ваша помощь вновь, он не принял вот
Олег Мельниченко
S:12:45:26 30.05
R:12:45:27 30.05
То есть он имеет ввиду код до 66 строки?
Андрей Зуев
S:12:45:34 30.05
R:12:45:34 30.05
Да, все верно
Олег Мельниченко
S:12:45:47 30.05
R:12:45:48 30.05
Хмм, ну этого я не ожидал
Олег Мельниченко
S:12:45:57 30.05
R:12:45:57 30.05
Сейчас тогда надо бы подумать
Андрей Зуев
S:12:46:14 30.05
R:12:46:14 30.05
Вот, если есть возможность, да, у нас есть около 40 минут
Олег Мельниченко
S:12:46:34 30.05
R:12:46:35 30.05
Хорошо, попробуем
Андрей Зуев
S:12:46:50 30.05
R:12:46:51 30.05
🙏
Олег Мельниченко
S:12:47:52 30.05
R:12:47:53 30.05
Так а что именно его интересует он не уточнял?
Андрей Зуев
S:12:48:14 30.05
R:12:48:14 30.05
Вот это его цитата
Андрей Зуев
S:12:48:42 30.05
R:12:48:42 30.05
Мол, можно этот промежуток оптимизировать
Олег Мельниченко
S:12:49:08 30.05
R:12:49:09 30.05
То есть сбор переменных нужно изменить, если я правильно понял? То есть var1, var2 и др?
Андрей Зуев
S:12:49:23 30.05
R:12:49:23 30.05
Да, все так
Олег Мельниченко
S:12:50:14 30.05
R:12:50:15 30.05
Ага, ну сейчас в этом направлении я просто не думал как то
Андрей Зуев
S:12:52:26 30.05
R:12:52:27 30.05
Хорошо, тогда можно попробоваться что-то поменять, если у нас 53 МТ сейчас, то нужно 3 выкинуть каким-то образом
Олег Мельниченко
S:12:56:19 30.05
R:12:56:20 30.05
Сейчас есть идейка
Андрей Зуев
S:13:21:42 30.05
R:13:21:42 30.05
Олег, есть продвижение?
Олег Мельниченко
S:13:23:13 30.05
R:13:23:14 30.05
Ну как то так
Олег Мельниченко
S:13:23:30 30.05
R:13:23:31 30.05
Извиняюсь что на листе - не при компе сейчас
Андрей Зуев
S:13:23:39 30.05
R:13:23:40 30.05
Понял
Андрей Зуев
S:13:23:43 30.05
R:13:23:43 30.05
Сейчас посмотрю
Олег Мельниченко
S:13:23:58 30.05
R:13:23:59 30.05
Могу попнятнее окончательный код записать - 5 мин
Андрей Зуев
S:13:24:10 30.05
R:13:24:10 30.05
Да
Андрей Зуев
S:13:24:12 30.05
R:13:24:13 30.05
Пожалуйста
Андрей Зуев
S:13:34:33 30.05
R:13:34:33 30.05
Олег, ну что?
Просто пара кончается…
А номера в новом Коде эквивалентны номерам кода исправления
Олег Мельниченко
S:13:35:56 30.05
R:13:35:57 30.05
Вот, ну лучшее что смог
Олег Мельниченко
S:13:36:21 30.05
R:13:36:22 30.05
Эквивалентны с учётом м что первая это 44я то есть +44
Олег Мельниченко
S:13:36:28 30.05
R:13:36:28 30.05
Ну я подписал
Андрей Зуев
S:13:51:30 30.05
R:13:51:30 30.05
А сколько у нас в итоге количество?
Андрей Зуев
S:13:51:37 30.05
R:13:51:37 30.05
Нужно ровно 50?
Андрей Зуев
S:13:53:30 30.05
R:13:53:30 30.05
Олег, очень нужен ответ
Андрей Зуев
S:13:56:55 30.05
R:13:56:56 30.05
Ладненько, пара окончилась, теперь пойду в среду, в 12:00
Андрей Зуев
S:13:59:03 30.05
R:13:59:03 30.05
Очень прошу вас, можете, как будет возможность, впишите результат в общий код, чтоб было ровно 50 тактов, и проверьте работу проги, чтоб уж наверняка
Олег Мельниченко
S:14:00:02 30.05
R:14:00:03 30.05
Ну, надеюсь, в следующий раз уже всё устроит, ибо, я конечно ещё подумаю, но пока больше идей по оптимизации нет
Андрей Зуев
S:14:00:04 30.05
R:14:00:04 30.05
А, и вот он меня спросил, мол, а что нужно сделать, чтоб было 50 машинных тактов? Вот как ответить на этот вопрос? Я так понял, нужен какой-то общий ответ, что нужно сделать?
Олег Мельниченко
S:14:00:12 30.05
R:14:00:13 30.05
Если что - до связи
Андрей Зуев
S:14:00:29 30.05
R:14:00:30 30.05
А сколько в этом варианте тактов?
Андрей Зуев
S:14:00:44 30.05
R:14:00:44 30.05
Который текущий
Олег Мельниченко
S:14:00:49 30.05
R:14:00:49 30.05
Ну даже не знаю насколько общий - оптимизировать код только)
Олег Мельниченко
S:14:01:08 30.05
R:14:01:08 30.05
Ну на 5 строк меньше, стало быть
Андрей Зуев
S:14:01:18 30.05
R:14:01:18 30.05
То есть, 48
Андрей Зуев
S:14:01:24 30.05
R:14:01:24 30.05
А надо 50
Олег Мельниченко
S:14:01:30 30.05
R:14:01:31 30.05
Точно не считал, но да
Андрей Зуев
S:14:01:51 30.05
R:14:01:51 30.05
То есть, это прямо задание, ровно 50…
Олег Мельниченко
S:14:02:04 30.05
R:14:02:05 30.05
Ну хуже всегда можно сделать) например маску наложить в последней строке с вар4 это +1 строка
Олег Мельниченко
S:14:02:20 30.05
R:14:02:21 30.05
Ну и ещё что-то не уверен правда зачем)
Андрей Зуев
S:14:02:33 30.05
R:14:02:33 30.05
Ну вот
Андрей Зуев
S:14:02:41 30.05
R:14:02:41 30.05
Наверное он это и имел в виду
Андрей Зуев
S:14:02:42 30.05
R:14:02:42 30.05
Все
Андрей Зуев
S:14:02:48 30.05
R:14:02:48 30.05
Пазлы сложились
Андрей Зуев
S:14:02:56 30.05
R:14:02:56 30.05
Именно это он хотел услышать
Андрей Зуев
S:09:36:36 31.05
R:09:36:36 31.05
Олег, ну, что
Андрей Зуев
S:09:36:54 31.05
R:09:36:54 31.05
Мне нужен финальный вариант с 50 машинными тактами
Андрей Зуев
S:09:37:14 31.05
R:09:37:15 31.05
Проверенный, чтоб завтра не отражаться уж наверняка
Олег Мельниченко
S:10:50:00 31.05
R:10:50:01 31.05
ладно, сделаю
Андрей Зуев
S:10:50:24 31.05
R:10:50:24 31.05
Ок, буду ждать
Олег Мельниченко
S:11:07:25 31.05
R:11:07:26 31.05
Днём готово будет
Андрей Зуев
S:11:07:37 31.05
R:11:07:37 31.05
Ок!
Андрей Зуев
S:19:17:01 31.05
R:19:17:02 31.05
Олег, ну что??
Олег Мельниченко
S:19:17:22 31.05
R:19:17:23 31.05
как раз работаю, 10 минут
Андрей Зуев
S:19:17:35 31.05
R:19:17:35 31.05
все, принял!
Олег Мельниченко
S:19:44:10 31.05
R:19:44:12 31.05
вот-с принимайте, как и обещал также в тхт - с нумерацией строк, по сему видно что стало ровно 50 МТ (ну во всяком случае,оптимизация удалась думаю, прям построчно пересчитывать вряд ли будут) ну и пограмму задержки оставил - все равно выкинуть ее не проблема
боле подробные пояснения на рукописном коде я оставлял, впрочем здесь тоже комментарии подробны