- Поделитесь пожалуйста информацией про построение
высоконадежных/отказоустойчивых систем [на микроконтроллере]? Т.е.
когда разработчик подразумевает и учитывает, что среда исполнения
может быть не надежна. Типа критичные данные хранятся в нескольких
копиях, всё постоянно перепроверяется, проверяется корректность
работы блоков микроконтроллера и т д. Как-то давно уже слегка
затрагивали тему: - может кто подскажет ключевые слова для поиска
информации и упомянутого там AN ? pavel2000(10 знак., 09.02.2026 18:27, dao, ссылка, ссылка, полностью)
- Тут даже тэг такой есть. Тэгнул тему, смотрите связанные справа. - Toчкa oпopы(19.02.2026 11:51)
- Ключевые слова Functional Safety (FuSa). Гляньте материал по ссылке
(оно старое, но дает представление). Оно как бэ не только про
микроконтроллер, но и про систему. Если FMEA анализ своей
схемотехники вы можете провести и увеличить надежность переработкой
схемы, то для МК общего назначения - уже нет, но можете покрыть ПО
тестами и уйти в безопасный режим при обнаружении ошибки.
Библиотеки тестирования (Class B) обычно доступны у разных вендоров
(и даже у Китайцев). Под НДА Илья(198 знак., 12.02.2026 17:53, ссылка, ссылка)
- Зависит от того ездит-плавает-ныряет-летает ваше устройство и
сколько человек умрет в случае его отказа. Для народно-любимого STM
можно начать отсюда []. Если есть намерения это все продавать, то
сертификация по словам одного знакомого требует в 2-3 раза больше
усилий чем разработка. Он себе заодно язву на нервной почве
заработал... - NeoPower________(1 знак., 10.02.2026 19:11, ссылка)
- делал прогу в которой главный цикл задавался через железный ресет
мк - vvv(10.02.2026 11:48,
, +1)
- Принцип Fail Fast, Restart Quickly ? - bodis(1 знак., 10.02.2026 10:56, ссылка)
- Такая старинная методичка. Toчкa oпopы(263 знак., 09.02.2026 22:02, ссылка)
- Глянь на кучу материалов для Hercules Safety MCU от TI, оттуда
можно начать понимание. - VVB(09.02.2026 20:57)
- как я мечтал о такой прошивке для себя! Но до чего я ленив.... - Лaгyнoв(09.02.2026 20:40)
- Видел как-то плату вычислительного модуля импортного ПЛК для
ответственных применений. _Илья(536 знак., 09.02.2026 19:29)
- Отказоустойчивость ПЛК - это отдельная олимпиада. Есть стандарты и
уровни безопасности типа SIL или AK bodis(26 знак., 10.02.2026 10:05, ссылка)
- Я ради любопытства/просвещения изучаю прошивки вот таких устройств.
Хотелось бы не только "снизу" это изучить, но и "сверху". Грубо
говоря, в общих чертах понятно, что происходит на уровне маш.кода,
но хотелось бы также понять, как подобное изображают на С.
Например, я вижу что переменная одновременно хранится в трех
адресах, раскиданных по адресному пространству - наверное это не
совсем вручную распределяют? - pavel2000(09.02.2026 20:18)
- Не беда. Достаточно залить туда одинаковые прошивки, и они
одновременно споткнутся на одном и том же глюке. - SciFi(09.02.2026 19:37)
- Это если глюк заложен в прошивку. А если глюком является
"залипание" бита в ячейке памяти или на шине - т.е дефект/сбой
чипа? Программа должна это безопасно обработать. Такой подход
кладут в основу написания кода. - pavel2000(09.02.2026 20:22)
- Сначала надо определиться со списком угроз, потом думать как
минимизировать вероятность ущерба, исходя из имеющихся
возможностей. Универсального рецепта я думаю что нет. В простейшем
случае ограничиваются CRC флэша. Более продвинутые добавляют
контроль осцилляторов. Еще добавляют контроль ошибочных состояний
(туда попадают и аппаратные и алгоритмические ошибки). А вообще
список возможных угроз огромен, даже не выходя за границы м/к. Еще
есть внешняя схема, источники питания, AlexBi(80 знак., 10.02.2026 08:39)
- +1. Я бы даже сказал, оценить разные риски количественно. Пока ни одной цифры не было, как обычно. Так-то легко можно
направить все свои усилия на борьбу с самым маленьким риском просто
потому, что это прикольно. Условно, боролись со сбойным железом, а
в итоге заглючил софт, написанный мизинцем левой ноги. - SciFi(10.02.2026 08:45)
- Полагаю цифр нет и не может быть, т.к. они индивидуальны для
каждого изделия и появляются только после набора статистики.
Поэтому борьба с глюками плохо поддается количественной оценке.
Известна только уязвимость флэша, и та без цифр. Все остальное
плотно покрыто мраком тайны. AlexBi(147 знак., 10.02.2026 09:26)
- Цифры есть. Для МК, как я понимаю, они берутся как % количества
гейтов конкретной периферии, ядра, памяти и пр. Условно, есть FIT
конкретного МК, АЦП занимает 5%, то FIT для АЦП будет 5% от общего
(может не совсем так и у производителя есть методика расчета, но
она есть). Соответственно, тест АЦП может выявить проблему АЦП и
"программа примет надлежащие меры". Покрыв тестави критические для
безопасности блоки можно увеличить метрику надежности системы.
Цифры для FuSa-ready Илья(246 знак., 12.02.2026 18:09)
- "Цифр нет" ... "на порядок". Это цифра 10 вообще-то. Уже хорошее
начало. - SciFi(10.02.2026 09:42, +1)
- Хабарка. Запуск ядра Linux вообще без rootfs (даже без initrd!).
Это позволяет использовать ядро как обычную программу и
реализовывать прямо внутри него свои функции. - bodis(1 знак., 17.02.2026 10:08, dao, ссылка, полностью)
- В старину линукс грузился без этих ваших initrd. А если вам
нравится тетрис, его можно запускать до загрузчика линукса
>>> - SciFi(1 знак., 17.02.2026 10:36, ссылка)
- "запустиь linux" до загрузчика linux - эка невиаль :) эко удивили
:) - господа форточники, а посмотрите внимательно кто вам, мои
дражайшие, EFI перед загрузкой вашего масдая педалит ? да и ваще
еще раннее... кто вам маму подымает еще когда процессор даже не
очухался по питанию? ну уж если разговор пошел - на stm32 можно
специфически собрать ядро и запустить. защищенная режим памяти
будет типа эмулироватся. - klen(18.02.2026 12:39)
- невидаль - вставить один переход с фиксированного адреса на точку
входа. но нет - нужно свеженькую версию граба. там хоть картинку из
Doom ностальгическую подложить. хоть игру и подтянули через
лохматое количество лет... - Vit(1 знак., 19.02.2026 08:49, ссылка)
- Это все понятно. У EFI очень специфичное применение, как и
аппаратно привязанные ядра. Здесь же спектр применения значительно
шире. Например - некий универсальный модуль (ПК без HDD), воткнул в
USB флешку с линуксом на Optane, тебе загрузился каталог c
документацией в pdf/djvu, почитал, что надо, вынул флешку и
выключил ПК. Другой человек пришел, вставил свою флешку, и вот у
него уже - осцилограф. Сейчас ПК в основном так и используется, для
1-2 задач. - bodis(18.02.2026 14:47)
- Это другое. MSI баловался этим задолго до bodis(1 знак., 17.02.2026 13:02, картинка)
- stm32h7rxx_7sxx: сделал прошивку, поддерживающую этот
микроконтроллер для отладчика BMP, который даже из транка еще не
поддерживает этих зверьков. klen(2151 знак., 18.02.2026 12:44, dao, ссылка, картинка, полностью, +1)
- Глупый вопрос: а возможно ли через классический CDC (т.е. без
vendor-запросов) передать 9-битные сообщения? То бишь 8 бит с
четностью. Eddy_Em(98 знак., 14.02.2026 23:07, dao, полностью)
- Обсуждаем такую тему. Вот есть задача freertos, она что-то делает
(встроенный веб-сервер) для буферов выделяет себе динамическую
память средствами ОС. Я так понимаю, что если было бы статическое
выделение, то в случае зависания по любой причине мы могли бы
удалить задачу и создать заново, не трогая другие задачи (очень
важно сохранить технологический процесс). При динамическом
выделении это невозможно? (промпт - нужность динамического
выделения памяти обсуждать не надо). - ЖивyчecтьПO(13.02.2026 06:08,
, dao, полностью)
- Андрей Карпатый выложил демонстрацию маленькой модели GPT в виде
200 строк на Питоне. Показывает принципиальные моменты того, что
запустило лавину чуть менее 10 лет назад. В комментариях болельщики
выложили версию на Си (400 строк). SciFi(2 знак., 13.02.2026 13:25, dao, ссылка, ссылка)
- Всегда считал, что пре-инкремент более эффективен чем
пост-инкремент. Речь разумеется про то, что результат такой
операции тут-же используется например в цикле или в сравнении. Но
оказывается есть нюансы. il-2(1296 знак., 10.02.2026 16:05, dao, полностью)
- Не занимайтесь преждевременной оптимизацией. Лучше думайте о том
чтобы алгоритм работал правильно при всех возможных типах данных и
их значениях. Это куда полезнее. Оставьте грязную работу
компилятору. Будет тормозить - будете искать тонкое место. И уж
точно оно не в инкременте будет. - VladislavS.(11.02.2026 15:36, +1)
- Не в ту сторону думаете. При постинкременте АЛУ уже имеет операнды,
лежащие по указанным адресам. И пока оно над ними глумится,
происходит инкремент. Где-то там, в другой плоскости. А вот при
ПРЕинкременте АЛУ ждёт, пока ты вытащишь операнды из модифицируемых
адресов. Вроде бы нетрудно сообразить. - Kpoк(11.02.2026 15:09)
- а если (int32_t) 50 ? - VLLV(11.02.2026 12:14)
- Поэтому, на 32-разрядных архитектурах, я использую 32-битные
переменные. А обрезаю только при упаковке для передачи по
интерфейсам, чья пропускная способность ограничена. Ну и ещё можно
так алгоритм писать, чтобы шло сравнение с нулём - тогда обрезать,
по идее, не надо. - Nikolay_Po(11.02.2026 11:48)
- Такие вещи надо показывать на godbolt: SciFi(2 знак., 10.02.2026 16:31, ссылка, картинка)
- Anthropic хвастается, как у них получилось заставить ИИ-агентов
сделать компилятор Си, который собирает работающее ядро Линукс. - SciFi(1 знак., 07.02.2026 14:39, dao, ссылка, полностью)
- А вот и анализ сего поделия - OlegPowerC(1 знак., 10.02.2026 00:58, ссылка)
- я завайбил программу для тестового опроса на питоне, которую ИИ
залудил из сишных функций кода МК. В три итерации все заработало
отлично. Дикпик. - BigDickPic(09.02.2026 13:27,
)
- Подумаешь, Линукс... Недавно коллега заявил, что скинул ИИ пару
скриншотов и описание протокола, который я придумал 20 лет назад, и
ИИ написал программу опроса приборов по этому протоколу. - VLLV_(08.02.2026 12:50,
)
- Компилятор правда получился говно, а я их поделию показал TCP стек
Cyclone TCP - он сказал там все ужасно - луше используйте LwIP, но
это он не видел LwIP.... а их CEO вобще сказал что профессия
програмиста исчезнет в течение 6-12 месяцев. Ну а Альман - который
главный по тарелочкам в ChatGPT скзал что не родится больше ребенка
кто будет умнее ИИ.... А клоуны мы - те кто критикует ИИ - OlegPowerC(07.02.2026 19:24)
- А зачем "критиковать ИИ"? Зачем вообще два лагеря болельщиков "ИИ
рулез" и "ИИ гамно" и непременно записываться в один из этих
лагерей? - SciFi(07.02.2026 19:41)
- Критикуют не ИИ как таковой, а встраивание его во все процессы
разработки и как следствие понижение качества продукта и зачастую
потери понимания своего же кода. - OlegPowerC(07.02.2026 20:09, +1)
- Чтобы понимать свой код после помощи ИИ, необходимо этот код
просматривать и изучать. Слепо доверять ИИ ни в коем случае нельзя.
В MSVS2022 и 2026 в проекте можно создать директорий .github и
вложить в него файл copilot-instructions.md с инструкциями. Вот
например, содержимое моего файла: Бoмж(2337 знак., 07.02.2026 23:34)
- Да я это знаю, я в целом о том что люди с радостью и за деньги
отдают свою работу которой они могут поднять свое мастерство ИИ. И
кто бы что не говорил , но в конце концов они перестают тотально
контролировать ИИ, и далее они потихоньку теряют квалификацию.
Отличный пример по ссылке - OlegPowerC(1 знак., 08.02.2026 01:05, ссылка)
- Далее ИИ отключается на территории враждебных стран и тамошнее
население быстро помирает залеченное нерадивыми докторами и
раздавленное безголовыми водятлами. - Yft(09.02.2026 15:52, +1)
- Надо заметить, что ИИ не первый инструмент, которому люди отдают
то, что раньше делали сами. Например, распространение принтеров
сделало не нужным рукописный текст. А массовое распространение
калькуляторов сделало не нужными навыки счета в уме. Или если
посмотреть на эволюцию КПП в автомобилях, первые КПП были без
синхронизаторов, потом появились КПП с синхронизаторами, люди
перешли на них, без синхронизаторов использовать уже не могли.
Потом появились автоматические КПП, AlexBi(283 знак., 08.02.2026 09:31)
- Это всё - взаимодействие со средой обитания. При достаточно
устойчивой и предсказуемой среде, мышление во взаимодействии с ней
- мало отличимо от условных рефлексов. В случае ИИ - важнее отказ
Человека от "высшей" мыслительной деятельности. Toчкa oпopы(119 знак., 08.02.2026 12:16)
- То есть вам норм? пусть все вокруг тупеют? :-) - OlegPowerC(08.02.2026 11:49)
- И еще надо учесть что наука это достояние всего человечества а AI
это коммерческая история и сегодня вам доступна а завтра нет - OlegPowerC(08.02.2026 12:23)
- Есть много открытых LLM хороших и разных. - SciFi(08.02.2026 12:59)
- Так на исследования о врачах комментарии будут? главный посыл то в
этом - OlegPowerC(08.02.2026 13:02)
- Зачем исследовать врачей, можно посмотреть на более близких,
программистов микроконтроллеров. Исходно программы писались в
машинных кодах, на листочке. Потом появился Ассемблер и даже
Макроассемблер, программы стали писать на нем. Но на этом прогресс
не остановился, появился Си, люди перешли на него. Если хорошему
программисту Си предложить писать программу на Ассемблере, полагаю
у него ни чего хорошего не получится, он точно проиграет по всем
параметрам программисту на AlexBi(311 знак., 08.02.2026 14:28, +1)
- Массовое образование появилось для нужд индустриализации. А потом
постепенно потребность в образованных человеках стала отпадать, ещё
до изобретения ИИ. А после ИИ тем более. Возвращаемся в старые
добрые времена, когда образованными были только выходцы из знати. - SciFi(08.02.2026 09:35)
- Пока не разработаны механизмы направленной коррекции ДНК
талантливые дети будут рождаться у кого попало. Учитывая
соотношение численности знать - не знать, талантливых детей у не
знати будет много. Их надо выявлять, а это без массового
образования сделать сложно. - AlexBi(08.02.2026 09:47)
- Гм. Во-первых, кто сказал что методы генетической коррекции
отсутствуют? Про них не известно публике, а это другое. И потом:
ради чего выявлять таланты в податном населении? Раздвигать научные
горизонты? Они рано или поздно сами раздвинутся, спешить некуда.
Пробьется какой Ломоносов - прекрасно, будет гусей пасти - тоже
неплохо. Лишь бы на миропорядок не покушались. - LightElf(08.02.2026 14:48)
- Мы тут про футбол? Один краснодарский (город такой) бизнесмен
создал футбольную школу "для всех" - там миллион полей и детей там
тренируется два миллиона. Сколько из них станут чемпионами мира -
вопрос. Но удовольствие (читай - счастье) получают все уже сейчас.
В Лужниках с десяток коробок, включая одну с заветными буквами
"ПСЖ". На остальных стадионах, включая малоизвестный Авангард ( в
Перово) куча детских команд. Я на полшишечки в теме - с внуком
объездил половину Kpoк(109 знак., 09.02.2026 13:42)
- Элит несколько, всякого вкусного на всех не хватает, элиты
вынуждены конкурировать между собой. Для успешной конкуренции надо
иметь что-то большее чем численность подчиненного населения. - AlexBi(08.02.2026 14:56)
- Откуда следует, что элит несколько? Может это просто несколько
нанятых команд, типа Спартак -ЦСКА? Бьются принципиально и
беспощадно. Дают картинку на ТВ. Имеют толпы фанатов. А настоящая
элита - это владельцы лиги, они устанавливаются правила
соревнований. - LightElf(08.02.2026 15:09)
- Пусть элита одна, но разные команды есть, мы это видим, команды
пытаются превзойти друг друга, для этого им нужны игроки лучше чем
у другой команды. - AlexBi(08.02.2026 15:24)
- У Спартака и ЦСКА есть свои школы. Дворовые команды их не
интересуют. Если вдруг появится какой Пеле - его купят, причем лига
еще и определит кто именно купит и почем. Давать шанс каждому -
такое только СССР пытался делать (с переменным успехом). - LightElf(08.02.2026 15:32)
- в этом месте надо всегда уточнять - люди (конкретные) пытались
что-то делать с переменным успехом. Успех сильно зависел от местных
условий. Но шанс каждому был только в том, что спорт. секции были
бесплатные. - Лaгyнoв(09.02.2026 12:49)
- В СССР тожэ никого не интересовали дворовые команды. У меня
одноклассник, с большим трудом поступил в футбольную спецшколу. - mse homjak(09.02.2026 12:46)
- Странная формулировка. Удивительная для инженера ( или мсье -
программист?). В моём босоногом детстве в радиусе 15 минут пешего
хода (ну как "радиусе" - я жил на окраине, так что скорее
"диаметре"). Было 4 коробки с твёрдым покрытием и воротами из 100
мм трубы (приблизительно 4х2). Приходили и играли приблизительно 6
на 6) . Просто так. Если приходил кто-то ещё, играли на вылет.
Чисто "во дворе" играли на парковке Стройуправления. Но это в малом
возрасте. Эти "коробки" они Kpoк(317 знак., 09.02.2026 13:08)
- Вопрос стоял так:"дворовые команды никого не интересуют". Да, не
интересуют. Интересуют те, кто пришёл сам. И то, какие способности.
У нас, что тогда, что щас, тожэ площадок куча. Но учиться в футбол
уходят те, кто сами пришли в спецсекцыю. А по дворам, за талантами,
ни тогда, ни щас, никто не ходит. - mse homjak(09.02.2026 17:23)
- Ну это было бы чересчур: эдакий талантливый Пеле, который блистает
на "коробках", но не знает, что в городе есть футбольные секции. - Kpoк(10.02.2026 10:22)
- В соседней школе была секция "футбол-хоккей". Летом они занимались
на школьном стадионе футболом, зимой заливали там же коробку. Когда
они не занимались - мы туда кататься на коньках ходили. Тех, кто
показывал какие-то задатки, приглашали в спортшколу. Остальные
просто занимались пока не надоест. Но вообще, я спорт как образный
пример привел. Бескомпромиссная боротьба "команды глобалистов"
против "команды патриотов-почвенников", а рептилоиды рулят этим
эпичным матчем под LightElf(52 знак., 10.02.2026 04:41)
- мне наш тренер в ДЮСШ-6 в 1970 году сказал - ну чего ты ходишь? Ни
фига из тебя не получится. Ноги короткие, какой бегун? А тем более
прыгун? Ну ходи если хочешь. И я ходил. - Лaгyнoв(09.02.2026 20:50)
- "Говно" - так правильно. - Kpoк(07.02.2026 20:05)
- Спасибо, прикольно. Мы на пороге грандиозного шухера! Они нас могут
заменить в ближайшем времени. Хотя цена вопроса пока ещё
относительно велика. - Бoмж(07.02.2026 18:00)
- Во всяких антиутопиях, типа Терминатора и Матрицы, не отражено, что
в показанный писец народишко бежал сам, добровольно и еще и сверху
приплачивая. Как вам "налог на развитие ИИ" в виде роста цен на
память и вообще комплектующих? - LightElf(07.02.2026 17:34)
- Поделитесь мнением, вопрос про модули. Имеется некий прибор у
которого несколько режимов, до десятка. В разных режимах разная
работа с событиями клавиатуры, вывод на индикатор, общение с
внешним миром, обработка данных АЦП, звук и пр. Как бы вы стали
разбивать программу на модули? Модули индикатора, клавиатуры и
прочее или модуль режима 1, режима 2 и т.д. Может есть какая другая
метода, более прогрессивная и правильная? - mr-x(09.02.2026 11:17, dao, полностью)
- Ваш вопрос касается модуляризации программы для устройства с
несколькими режимами (до десятка), где в каждом режиме по-разному
обрабатываются клавиатура, индикатор, внешние интерфейсы, АЦП, звук
и т.д. Это классическая задача в embedded-программировании или
системном дизайне, где нужно балансировать между повторяемостью
кода, удобством поддержки и производительностью. Бoмж(5937 знак., 09.02.2026 21:50)
- если я тебя правильно понял LordN(82 знак., 09.02.2026 17:29, картинка)
- Хе, хе. В реальности совсем не так, больше похоже на клубок. Не
понятно, что есть селектор и коммутатор, ведь данные разнородны и
асинхронны. Помимо вопроса как ходят данные есть ещё интересный
вопрос, кто, когда и от кого получает управление. Исходный вопрос
был скорее про то, писать ли в одном месте функционал с разбиением
на режимы, или режимы, с разделением по функционалу. Понимаю, что
сумбурно изъясняюсь, прошу пардону. - mr-x(10.02.2026 12:56)
- именно так.... - Лaгyнoв(09.02.2026 20:52)
- Программу разбивал бы в точности как и "раньше". Модуль "стратегия"
импортирует из модуля "режим" настройки, а все остальное ничего ни
о стратегии, ни о режиме не знают. - Cкpипaч(09.02.2026 17:08)
- у меня фриртос. есть модуль клавиатуры, который генерит коды(аналог
клавы ПС) есть обработчик кодов, есть модуль индикации. Все режимы
запускаются в обработчике кодов. Каждый режим сам может принимать
коды от клавиатуры, при этом обработчик кодов ждет возврата из
режима. - abivan(09.02.2026 15:24)
- Могу только догадываться, что каждый режим - это список какой-то
функциональности. =AlexD=(135 знак., 09.02.2026 14:45)
- Зачем мешаете ортогональные понятия в одну кучу, теплое с мягким?
Хотите в каждом модуле режима 1, 2 и т.д. писать модули индикатора,
клавиатуры и прочее? Чтобы файлов было меньше? Ну да, их станет
меньше :-) il-2(243 знак., 09.02.2026 13:46)
- Такие разговоры хорошо вести с ИИ. Уж в этих делах он не одну
собаку съел, а тысячу, если не миллион. - SciFi(09.02.2026 12:49)
- Нарисовать функциональный граф с временами реакций,
взаимодействием, потоками данных в разных режимах, если сильно
отличаются. Затем делить сложность до уровня, чтоб удобнее
разбираться в отдельных файлах. - jlm(09.02.2026 12:49)
- (совершенно не претендую на истину). У меня как раз все эти работы
и события, и режимы. В бесконечном цикле идут функции - что там
нажали, не поменять ли индикацию, не прислали что-то по UART, не
сменился ли режим отпуска топлива и проч. Внутри функций - по
режимам. Может не надо выводить индикацию по отпущенному топливу,
если клиент в режиме настройки? Ну и т.д. - Лaгyнoв(09.02.2026 12:31)
- Я конечно не программист, но я бы кое-что совместил: в HAL вынести
общую логику работы "железа", а остальное поделить на независимые
функциональные модули, которые можно отлаживать по-отдельности друг
от друга. - reZident(09.02.2026 11:20)
- Про низкий уровень понятно. Для примера клавиатура. Есть отдельный
модуль, который обрабатывает кнопки и родит флаги событий, это
низкий уровень. В разных режимах кнопки работают по разному,
поэтому можно обработку кнопок уровнем повыше вынести в модуль
клавиатуры для всех режимов, или растолкать функции работы с
клавиатурой по модулям режимов. Вот в чём вопрос. - mr-x(09.02.2026 11:26)
- У меня нажатия и таймер генерируют события, а уж события
обрабатываются в зависимости от актуального режима VLLV(1 знак., 09.02.2026 16:15, картинка)
- Много кнопок в устройстве? Если объединять, то возможно придется
зарядить полный функционал: устранение дребезга, нажатие, отжатие,
длительность нажатия, сочетание нажатий, e.t.c. Зато все в одном
месте и все можно отладить чохом. - reZident(09.02.2026 12:41)
- Кнопок 8 штук. Дребезг, нажатие, длительные нажатия, автоповтор,
задержка автоповтора - в отдельном модуле. Там всё хорошо написано
и хорошо работает. Дело в том, что если растащить обработку событий
от клавиатуры по модулям режимов, то схожий клавиатурный функционал
будет растащен по куче мест в программе, что противно. А если
затолкать всё клавиатурное в одно место, то там вроде всё красиво,
но тогда специфика режимов размазана по программе. Всё работает, но
как-то неловко. mr-x(64 знак., 09.02.2026 13:14)
- у меня по кнопкам. А внутри обработки кнопки - разные действия по
режимам - Лaгyнoв(09.02.2026 12:36)
- Разбивайте по рабочим режимам. Которые будут пользовать ваши
ресурсы(клавиши, индикатор, АЦП итыды). - mse homjak(09.02.2026 12:00)
- Я тут установил MounRiver Studio (первую) в каталог, отличный от
умолчания. И узнал много чего интересного. Если коротко - то лучше
так не делать :-) Спасает только символьная ссылка. il-2(305 знак., 27.01.2026 09:24, dao, полностью)
- коллеги, а где бы скачать Quartus II Altera Complete Design Suite?
С таблэткой. Поиск предлагает только торренты, но там может и не
быть. - =L.A.=(24.09.2025 13:47, dao, полностью)
- так, что в пустыне Сахара никому не нужены Квартусы? очень странное
сообщество - Metalliac_metallica(06.02.2026 10:26,
)
- меняюсь на ссылку для скачивания всех Квартусов, какие есть - Metallica_metallica(05.02.2026 12:19)
- а можно этот генератор лицензий? - Metallica_metallica(05.02.2026 12:16)
- поставил сегодня Quartus версию 6.0 Хочет лицензию. Та лицензия,
что есть в лечении не подходит. Также пробовал установить (Altera)
USB Byte Blaster. Не подходит ему драйвер, который в папке Quartus. - =L.A.=(03.10.2025 18:13)
- Вот ей-богу - "Мучаете себя, как при царском режиме!" (с) Stewart Little(115 знак., 04.10.2025 11:30)
- Должно быть два(? но вижу один) патченых файла и файл лицензии. ДЛЛ
в бин на *.лиц указать в настройке лицензии.Лицензию
отредактировать на свой хостид и поставить везде 2030 год,
например. Q7.1, думаю, на 6.х пойдёт mse homjak(1 знак., 03.10.2025 22:45, ссылка)
- При помощи коллег выяснил, что версия 9.1 устанавливается и лечится
успешнее. Но для установки Altera Byte Blaster нужна обязательно
Win XP. Сообщение выскакивает при установке драйвера. - =L.A.=(13.10.2025 18:07)
- Коллеги тебя обманули : W7x32 enc(2 знак., 13.10.2025 18:24, картинка, картинка, +1)
- Ставьте какой-нить Виртуал Бокс с ВыньХП. У меня, из под Линуха,
так. Правда, Квартус у меня пускается прям под Линухом, но для
БайтБластера так не получится, так что из-под виртуалки, походу. - mse homjak(13.10.2025 18:20)
- ОК, будем экспериментировать. - =L.A.=(04.10.2025 12:42)
- бывалые говорят, что версия 9.0 лучше поддается "лицензированию". - =L.A.=(03.10.2025 18:14)
- Напишите мне в личку. - Stewart Little(24.09.2025 16:32)
- А какой именно? В последних версиях они все старые семейства
микросхем похерили. Если что, у меня почти все версии есть... - Idler(24.09.2025 14:28)
- EPM7064 =L.A.=(1 знак., 24.09.2025 19:34 - 25.09.2025 20:57, картинка)
- Ну а вообще, конечно, сейчас MAX7000 - это махровый анахронизм!
Если только какую-нибудь старую железяку починить. А в новые
разработки - ни-ни !!! - Stewart Little(25.09.2025 11:31)
- Если 7064S, то последний, кто её поддерживал, был почти самый
старый квартус - 9.1. Если без S, то квартусы их вообще не
поддерживают. Но нахрена эти мерзкие квартусы, когда со всеми
старыми семействами замечательно работает оригинальный MaxPlus2? В
нем и симулятор нормальный есть, проще, удобнее. А чтобы
программировать через USB-Blaster, можно поставить бесплатный
quartus-programmer любой версии. - Idler(25.09.2025 11:11)
- Какой вариант оставить ? (вопрос чисто эстетический, размер кода
одинаковый) 3m(1108 знак., 03.02.2026 18:01, dao, полностью)
- Переделал, второй вариант более не рассматривается. Misra надо
уважать хоть и без фанатизма да и не нравятся мне эстетически куча
return из потрохов функции. 3m(1433 знак., 05.02.2026 17:33)
- 1-й конечно. Tyмблep(139 знак., 04.02.2026 14:20)
- Вообще пофиг для оптимизирующего компилятора. - VladislavS.(04.02.2026 09:53)
- Сделайте второй вариант, с переменной ReturnValue перед
переключателем. В переключателе все варианты - присваивают этой
переменной соответствующее значение и оканчиваются break; для всех,
включая default. Nikolay_Po(43 знак., 03.02.2026 19:49)
- 1. Второе не пройдет MISRA. Потому что у функции должен быть только
одна точка входа и только одна точка выхода (один return). EmbedProg(775 знак., 03.02.2026 19:37,
, +3)
- если return вместо присвоения то я за return(2) Но в данном примере
мне оба варианта не понравились. ф-я возвращает bool( 0/1) и в
случае успеха и в случае (ошибки return false;) Я б так не делал. - abivan(03.02.2026 19:09)
- Т.е. суть вопроса - делать один return в конце или несколько return
из case? Для конкретного этого случая - вариант 2, т.к. выглядит
компактно и вполне понятно il-2(169 знак., 03.02.2026 18:24)
- И так, и так жутко выглядит. Кнопочка и лампочка - и сразу какие-то
указатели, структуры... Непонятно, зачем. Наверняка всё это могло
быть сделано проще. - SciFi(03.02.2026 18:10)
- 2 - Ralex(03.02.2026 18:03)
- присвоить bool'у int? ну лучше бы маску наложил: return lamp_memory[desc->idx] & 0x80 - POV(03.02.2026 18:03)
- Купил мультиметр VC9808 за полторы косых. TrueRMS, частота,
индуктивность, термопара, ёмкость, подсв., перем. ток). Сравнивал с
простеньким Fluke 106. На постоянке измерял аккумулятор. Первый
дает 12.31В, второй 12.34В. В розетке 228 и 232 В. Резистор 1.001 и
1.000 кОм. Конденсатор 98.35 и 98.5. - Codavr(1 знак., 03.02.2026 22:46, dao, ссылка, полностью)
- У кого есть Notepad++? Механизм автоматических обновлений был
перехвачен плохишами полгода назад. Хорошо, что я обновлялку
отключил. Надо в других местах проверить, что тоже отключено... - SciFi(1 знак., 04.02.2026 19:21, dao, ссылка, полностью)
- Технопрон с Хабарки. Оживление электронного микроскопа МРЭМ-100: - Toчкa oпopы(1 знак., 30.01.2026 19:06, dao, ссылка)