0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 1
|
||||||
1 | ||||||
По поводу оптимизации, поиска КЗ и моей глупости. Мой первый ассемблер на авр13.08.2018, 17:34. Показов 637. Ответов 1
И так, есть atmega128 который програмирую на assembler. Есть очень много готовых плат, в которых нет елементов, но есть выходы(условно входы и выходы). Нужно прозвонить на предмет контакта или кз. Вручную постоянно делать это глупо. Написано некая програмка для платы с контролером, при подключении к нужной плате, контроллер прозванивал бы попиново каждый вход-выход, определял контакт или нет. Писать отдельно на включение и выключение с проверкой каждого пина топорно. Но вот как написать в цикле? а хрен его знает. Я начинающий.
Собственно вопросы. 1. Как сделать цикл, чтобы не писать 200 страничек одинакового кода, меняя только пины. а так, по умному ? 2. Насколько реально реализовать поиск КЗ, чтобы точно определить где оно. ( все говорят не реально, без елементов, на плате и туди сюди. но авось кто то умный подскажет). ну и собственно код.
0
|
13.08.2018, 17:34 | |
Ответы с готовыми решениями:
1
По поводу фильтрации в моей БД по поводу моей видео карты В чем отличие таймера АВР от счетчика АВР? Нужен совет по поводу оптимизации Проконсультируйте по поводу оптимизации сайта |
1624 / 806 / 146
Регистрация: 13.06.2015
Сообщений: 3,266
|
|
13.08.2018, 17:58 | 2 |
nike-x25, начать надо с нормальной формулировки ТЗ. Пока что я понимаю следующее:
1) Имеется N-ное кол-во дорожек платы, между которыми в нормальном режиме не должно быть КЗ. 2) Надо просканить с помощью МК все возможные комбинации, а их N(N-1)/2, и если где-то закоротит, то куда-то вывести результат. Если всё это так, то задача решается через алгоритм опроса матричной клавиатуры, с некоторыми нюансами: между дорожками платы не должно быть не только КЗ, но и вообще сопротивления меньше 100кОм, ибо тогда пуллап МК не сможет отличить "нормальное" сопротивление от КЗ; не должно быть диодов/транзисторов и нужно определиться в формой вывода результатов (индикатор/дисплей). На ассемблере решать эту задачу можно, но смысл в этом нулевой, если задача именно прикладная (надо реально искать КЗ), а не просто учебная для саморазвития в ассемблере. Сделать её в CodeVisionAVR на С++ особого труда не составит. Добавлено через 5 минут А смысл цикла такой: 1. Ставим 0 на первую ногу 2. Остальные 19 ног ставим как вход с пуллапом 3. Сканируем остальные 19 ног (если где-то будет 0 - там КЗ) - внутренний цикл 4. Повторяем пункты 1-3 для остальных 19 ног - внешний цикл Основная сложность реализации на асме - куча проверок условий на совпадение/определение порта, с оптимизирующим С++ скорость сильно меньше не будет, тем более там всего 190 комбинаций.
0
|
13.08.2018, 17:58 | |
13.08.2018, 17:58 | |
Помогаю со студенческими работами здесь
2
По поводу оптимизации инструментом Pagespeed Критика кода и советы по поводу оптимизации По поводу поиска в Access Ув. Модераторы, не знаю к какой теме привязать вопрос. Как изображение с моей веб-камеры вставить в мой сайт? Методы оптимизации поиска замечания по поводу "25 советов по оптимизации..." Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Какой язык программирования лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
|
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
|
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
|
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
|
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
|
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
|
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
|
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
|
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций
История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
|
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
|
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы
В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
|
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
|