Защита в железе ограничена по времени. Если код тупит свыше дозволенного, увы. Но пока код на ифах вообще не виснет, хотя отдельные блоки могут не работать, но сам он никогда не вставал целиком
в процедуре обработки прерывания от АЦП или таймера. Но все равно нужно как-то передать в основной цикл информацию о том, что что-то идет не так и, следовательно, прервать цикл.
Так надо не просто закрыть. А сначала постоять в ограничении тока заданное время(шимить именно) потом уже закрыть. Это для перегрузочной способности нужно и чтобы пиды шустрее отрабатывали