[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Насколько я понимаю, модификатор volatile сообщает компилятору, что переменная может быть измненена в любой момент (обычно в прерывании). Тогда он не применяет к ней некоторых методов оптимизации и обращается с ней как с на самом деле глобальной. Некоторые компиляторы считают, что глобальные переменные volatile по умолчанию, некоторым надо указать непосредственно.
Не могу гарантировать, что причина в этом, но вероятность довольно большая.
Если не получится, рекомендую посмотреть, чему равна переменная при входе в прерывание, каким-нибудь независимым способом. Например, вывести ее на временно свободный порт. Может, навеет какие мысли.
E-mail: info@telesys.ru