Перейти к содержанию
    

Опрос АЦП внутри прерывания

Ну вот и ответ на вопрос.

ТС так и не указал используемый компилятор.Но судя по приведенным кускам кода-это CV.

А он не такой резкий в оптимизации как тот-же ЯР и не выкидывает без предупреждения

не- volatile переменные в прерываниях.Кажется,квалификатра volatile там и вовсе нет...

Но я бы не заметал непонятки под ковер, а постарался-бы все-таки разобраться до конца,

бо неизветно,не всплывут-ли они потом при модификации кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТС так и не указал используемый компилятор.Но судя по приведенным кускам кода-это CV.

А он не такой резкий в оптимизации как тот-же ЯР и не выкидывает без предупреждения

не- volatile переменные в прерываниях.Кажется,квалификатра volatile там и вовсе нет...

Но я бы не заметал непонятки под ковер, а постарался-бы все-таки разобраться до конца,

бо неизветно,не всплывут-ли они потом при модификации кода.

 

Да, действительно, Code Vision (версию сейчас не назову), на модификатор volatile CV ошибки не выдает, но, возможно, никаких действий не предпринимает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А он не такой резкий в оптимизации как тот-же ЯР и не выкидывает без предупреждения не- volatile переменные в прерываниях.
А никто не говорил, что переменная выкидывается в прерывании. И ИАР не выкидывает. Выкидывается ее чтение в основном цикле. И выкидывается совершенно законно, и предупреждать никто не обязан - иначе вы получали бы ворох предупреждений на каждую строчку кода.

 

Да, действительно, Code Vision (версию сейчас не назову), на модификатор volatile CV ошибки не выдает,
Было бы удивительно, если бы он ругался на описанное в стандарте языка ключевое слово.

но, возможно, никаких действий не предпринимает.
Полагаю, что вы ошибаетесь. Иначе практически все программы под этим компилятором вели бы себя так же непредсказуемо, как ваша.

 

Даже несмотря на то, что CV - компилятор "языка, похожего на C", вам обязательно стоит потратить лишние несколько минут чтобы разобраться, что дает ключевое слово volatile и когда его просто необходимо применять. Во избежание в дальнейшем траты кучи времени на "глюки компилятора".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...