Technika mikroprocesorowa
Dominującym językiem wyższego poziomu stosowanym do programowania mikrokontrolerów jest język C.
Proces standaryzacji tego języka w zasadzie został zakończony a obecnie obowiązujący standard tego języka określa się jako ANSI C. Jest to jednak standard przeznaczony głównie do systemów obliczeniowych pracujących pod kontrolą systemów operacyjnych.
W programowaniu mikrokontrolerów konieczne są odpowiednie modyfikacje tego języka. Większość kompilatorów języka C przeznaczonych do programowania konkretnych mikrokontrolerów nie odpowiada dokładnie ANSI C lecz zawiera dodatkowe rozszerzenia tego języka związane ze specyficznymi wymaganiami przy programowaniu mikrokontrolerów. Najczęściej są to następujące elementy:
•r wprowadzane są nowe typy zmiennych, np. zmienne bitowe (o ile lista rozkazów danej jednostki centralnej bezpośrednio wspiera operacje na pojedynczych bitach) lub zmienne umożliwiające bezpośredni dostęp do specjalnych rejestrów funkcyjnych).
s w przypadku mikrokontrolerów 8-bitowych niektóre złożone typy zmiennych nie są przez kompilator wspierane (np. zmienne zmiennoprzecinkowe podwójnej precyzji)
s przy deklaracji zmiennych wprowadzane są mechanizmy umożliwiające umiejscowienie (alokację) zmiennej w określonym miejscu przestrzeni adresowej (np. w obszarze wewnętrznej lub zewnętrznej pamięci RAM). Takie mechanizmy w ANSI C nie są konieczne, ponieważ alokacją zmiennych zajmuje się system operacyjny.
•r wprowadzane są nowe słowa kluczowe języka C (np. słowo interrupt użyte przy deklaracji funkcji oznacza że dana funkcja wywołana zostanie przy wystąpieniu określonego przerwania)
5
W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08