Dir (29.05.2013 17:27, просмотров: 53) ответил fk0 на Слишком много если. Кроме того, здесь есть элемент программной ненадёжности. Я приводил пример: деление на ноль в параллельном модуле вызвает сбой записи.
Так ведь не зря NASA свои правила программирования на С вводит. В них деление на "0" запрещено ;) Стараюсь придерживаться их. Т.е. не использовать malloc, а только статическое вsделение памяти. Не использую алгоритмов, в которых без рекурсии не обойтись, стараюсь минимизировать или вообще исключить использование стандартных неполность контролированных функций типа printf и т.д. ;)
За основу беру не напряжение питания, а напряжение на входе и кроме того прерывания от компаратора снижения питания всегда NMI и по самому высокому приоритету. Вот тогда число if становится вполне допустимым, а число сбоев по этой причине практически не отличается от числа катастрофических (полных) отказов компонентов :)