[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено John 02 февраля 2002 г. 17:05
В ответ на: Спасибо,попробую отправлено cobra 02 февраля 2002 г. 16:48

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

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru