Я - одаренный. Сбрасываю в прерывании. Щелкает таймер + сбор кучи флажков из разных мест, по ним ориентируемся все ли в порядке. Если все флажки не собраны к примеру за 1 минуту, тогда while(1). Во первых охват разных уголков программы, во вторых хоть какая то проверка работы прерываний.