Programowanie w C na AVR. Modyfikator volatile.

Co mówi definicja volatile?

Definicja mówi, że modyfikator volatile dodajemy do zmiennej, aby poinformować kompilator, że wartość tej zmiennej może się zmienić w nieznanych momentach nawet jeśli kod danych funkcji jej nie zmienia. Czyli zmienna z tym modyfikatorem nie zostanie zoptymalizowana.

Kiedy stosować modyfikator volatile?

Do przekazywania informacji pomiędzy przerwaniami a pętlą główną programu - najczęstszy przykład.

 Więc jeśli masz zamiar używać zmiennej globalnej w pętli głównej programu i w przerwaniu, to musisz użyć modyfikatora volatile - w każdym momenci może przyjść przerwanie, które zmodyfikuje wartość zmiennej

Producenci mikrokontrolerów w dostarczanych bibliotekach wszystkie rejestry procesora deklarują jako wskaźniki do zmiennych typu volatile. Ta technika nosi nazwę memory mapping i pozwala na odpowiednie zareagowanie na zmianę wartości pinu lub ustawienie flagi.

Źródło informacji: ucgosu.pl - Programowanie i Robotyka

Komentarze