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