то она обязана прочитать итд. А какая разница, где я использую переменную?
Тоесть
void a1(void)
{
i++;
}
должна увеличивать i. Какая разница, откуда я вызываю a1 из прерывания или из другой функции?
И тогда получается, к примеру, если i инкрементируется в прерывании, то можно ли сделать
unsigned b1(void)
{
return i;
}
и получать значение i?
Смысл в том, что если я объявлю i как volatile, я получу к примеру с
i+=i*i; //от фонаря
кучу оверхеда.