;О) я бы сказал - переделывать. Если сперва сброс собаки, потом очистка флагов(нах их тогда устанавливать? и вообще зачем тогда они?). Потом, ещё под это нужен личный таймер для прерывания(а что-же ещё, если вычисляем максимальное время цикла? или по входу в прерывание - счётчик) короче - штаны через голову. Не знаю, по моему на звание бреда ваш способ более пригоден ;О)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)