Wpis z mikrobloga

@Primbledon: Jak nie chcesz, żeby kompilator coś dłubał przy zmiennej. Niektóre są takie upierdliwe, że gdy nadajesz zmiennej wartść przy deklaracji, a potem korzystasz z niej wewnątrz warunku w pętli, to kompilator może podstawić stałą w miejsce warunku. Tak mnie przynajmniej uczyli.
@Primbledon:
W zasadzie tylko w aplikacjach embedded. Jeśli wartość jakiegoś parametru zależy od czynników zewnętrznych. Np. wartość PINu procesora:
volatile uint32_t PIN; /*!< Offset: 0x014 (R/W) GPIO port Pin value Register */

Czasami do synchronizacji obsługi przerwania z aplikacją (w systemach bare metal):

static volatile flag = false;

void ISR(void)
{
flag = true;
}

//in app
if(flag){
}