реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Опрос АЦП внутри прерывания
_Pasha
сообщение Dec 8 2013, 11:52
Сообщение #16


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(AndreyVN @ Dec 8 2013, 12:17) *
Нет, volatile не использую.


Ну вот и ответ на вопрос.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Dec 8 2013, 19:26
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(_Pasha @ Dec 8 2013, 15:52) *
Ну вот и ответ на вопрос.

ТС так и не указал используемый компилятор.Но судя по приведенным кускам кода-это CV.
А он не такой резкий в оптимизации как тот-же ЯР и не выкидывает без предупреждения
не- volatile переменные в прерываниях.Кажется,квалификатра volatile там и вовсе нет...
Но я бы не заметал непонятки под ковер, а постарался-бы все-таки разобраться до конца,
бо неизветно,не всплывут-ли они потом при модификации кода.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Dec 9 2013, 04:25
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата(WHALE @ Dec 8 2013, 23:26) *
ТС так и не указал используемый компилятор.Но судя по приведенным кускам кода-это CV.
А он не такой резкий в оптимизации как тот-же ЯР и не выкидывает без предупреждения
не- volatile переменные в прерываниях.Кажется,квалификатра volatile там и вовсе нет...
Но я бы не заметал непонятки под ковер, а постарался-бы все-таки разобраться до конца,
бо неизветно,не всплывут-ли они потом при модификации кода.


Да, действительно, Code Vision (версию сейчас не назову), на модификатор volatile CV ошибки не выдает, но, возможно, никаких действий не предпринимает.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 9 2013, 05:51
Сообщение #19


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(_Pasha @ Dec 8 2013, 15:52) *
Ну вот и ответ на вопрос.
+1


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 9 2013, 14:38
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(WHALE @ Dec 8 2013, 21:26) *
А он не такой резкий в оптимизации как тот-же ЯР и не выкидывает без предупреждения не- volatile переменные в прерываниях.
А никто не говорил, что переменная выкидывается в прерывании. И ИАР не выкидывает. Выкидывается ее чтение в основном цикле. И выкидывается совершенно законно, и предупреждать никто не обязан - иначе вы получали бы ворох предупреждений на каждую строчку кода.

Цитата(AndreyVN @ Dec 9 2013, 06:25) *
Да, действительно, Code Vision (версию сейчас не назову), на модификатор volatile CV ошибки не выдает,
Было бы удивительно, если бы он ругался на описанное в стандарте языка ключевое слово.
Цитата(AndreyVN @ Dec 9 2013, 06:25) *
но, возможно, никаких действий не предпринимает.
Полагаю, что вы ошибаетесь. Иначе практически все программы под этим компилятором вели бы себя так же непредсказуемо, как ваша.

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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016