Kit (12.05.2011 00:39, просмотров: 292) ответил koyodza на смысл локальной volatile в том, что доступ к ней не будет оптимизироваться
Это понятно, только зачем бы оно могло понадобиться, чтобы кусок кода не снесло? Так IAR на это уже не ведётся:) Я хочу вот чего:
volatile int x;
void interrupt IntFunc(){
//Тут надо оптимизировать
x=...;
}
void SomeFunc(){
//тут не оптимизировать
while(x){
//тут оптимизировать
cli();
if(x...) ...
x=...
sti();
//тут не оптимизировать
while(x!=...) ....
}
}
и так 10 раз. Можно пользоваться временными переменными, но неудобно. Можно ведь вместо while(x) использовать for(;x;), но зачем-то придумали while.