Законы Мэрфи никто не отменял!
"Если что-то нехорошее может случиться в самый неподходящий момент, оно обязательно постарается случиться."
Когда МК мигает светодиодом, наплевать, мигнёт ли он лишний раз.
А когда вместо диода кило взpывчатки, и это кило рядом с тобой, ощущения несколько иные. Прикидывешь, куда полетит башка, куда ноги, и на каком дереве повиснут кишки.
Я уже предлагал один из вариантов блокировки:
МК просыпается и проверяет, что всё в порядке, например, контрольную сумму ПЗУ считает;
МК проверяет, что есть от человека разрешение;
МК начинает дёргать ножкой, к ней маленький кондюр, выпрямитель, большой кондюр, параллельно которому резистор;
Когда на кондюре напруги достаточно накачается, открывается транзистор, который подаёт питание на ключ (ключи), который управляет зажиганием;
Если теперь МК ещё и на ключ ножкой дёрнет, тогда зажигание и случится.
В этом варианте неисправность одного транзистора или сбой в проге не приводят к срабатыванию.
Дёргать ножкой МК должен так: Проверил все условия, если всё хорошо, инвертировал ножку. Опять всё проверил, инвертировал. И т.д. И это должна быть просто одна из задач в многозадачной системе.
А не так, что проверил - и вызвал подпрограмму, которая дёргает ножкой. Это страшная ошибка.
И про совсем другое.
Имеет смысл сделать плату, которая управляется от компа, который симулирует условия полёта, а плата выдаёт на БРЭО сигналы, которые подключаются вместо датчиков.
Так ещё фон Браун делал.
А с БРЭО тоже связь прямо на комп, чтоб всё в деталях видно было.
Я вот думаю отдельные части БРЭО вообще через RS485 связать, тогда их можно отрабатывать как по отдельности, так и в любой комбинации.