Ay
Aysidora

Влияет ли на цикл while глобальные переменные на языке Си?

Всем привет, недавно сел на си и в общем-то использую си для AVR МК ATMEGA. Пока в этом не силён.
Проблема заключается в том, что у нас есть два мк атмега8 и между ними мост для передачи битов. В итоге мне приходится ждать в цикле пока глобальная переменная не изменит своё значение. Но что-то при изменении её (я вижу это на индикаторе осциллоскопа) ничего происходит, цикл остаётся по-прежнему активным. Ах да, схема представлены на протеус 7.

Короче, может ли на цикл while влиять глобальная переменная? Думаю понятно поставил вопрос.

Как вообще заставить ждать на месте глобальную переменную?

Zh
Zhenek

Сделайте её volatile
Например, volatile int i;

Компилятор видит, что в коде цикла она не меняется и не добавляет проверку в целях оптимизации.

Похожие вопросы
Цикл while застревает в программе
Язык Си. Переменная "е",как ее записывать?
Прерывание цикла. Язык Си
Как объявить глобальную переменную из функии?
как организовать выход из цикла while если не выполнится два условия (язык СИ)
в чем различие циклов while и do в delphi
почему в си шарп так нельзя? две переменные в цикле фор объявить
почему в си шарп так нельзя? две переменные разных типов в цикле фор объявить?
Тема: Ряды (циклы, итерации) . (На языке СИ)
Задача на тему "циклы в языке си" Помогите пажалуйста