Предствьте, что вы подаете команду и ждете ответа исполнительного механизма чтобы подать следующую команду. Ответ вам придет не в то же цикл опроса, в который вы подали команду. И теперь вы запихивает это все в прерывание. Прерывание вызвалось, команда подана. Но ответ вы обработайте лишь в следующем вызове прерывания. Так же и здесь. Вообще не ясно как оно у вас работает)