[an error occurred while processing this directive]
То что переменная может изменятся в прерывании или другой задачей (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено smav 09 августа 2002 г. 12:55
В ответ на: Знатокам С. Подскажите пожалуйста что означает volatile ? отправлено guserg 09 августа 2002 г. 12:18

Пример:
Пусть есть переменная int flag, которая устанавливается по прерыванию. А в основной программе мы ждем установки флага:
while (!flag) doSomething;
Если переменную flag не объявить volatile компилятор может перед началом цикла загрузить переменную в регистр и далее работать с регистром. В результате цикл никогда не закончится.

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

Ответы



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

E-mail: info@telesys.ru