obrazekobrazek
obrazek
obrazek

Kurs AVR-GCC cz.3

17.03.2009 ABXYZ

Baba Jaga W poprzedniej części kursu objaśniałem jak programować równoległe porty we/wy układów AVR, bo porty równoległe to najprostszy i podstawowy sposób komunikacji mikrokontrolera z otoczeniem. W tej i dwóch kolejnych częściach kursu postaram się przedstawić podstawy języka C, oczywiście w dużym skrócie, gdyż trudno byłoby opisać szczegółowo całość języka C w trzech krótkich artykułach. Ale nie ma się czego obawiać, na szczęście język C nie jest zbyt obszerny, szybko można opanować jego postawy, które pozwolą samodzielnie pisać programy.

Tematem tej części kursu będą: zmienne i stałe liczbowe, operatory oraz instrukcje sterujące. Wpierw omówię kolejno wymienione tematy, a dalej, jako ćwiczenie, uruchomimy kilka przykładowych programów.

Zmienne i typy danych

Zakładam, że nie ma potrzeby objaśniać czym są zmienne w programie, wiadomo, zmienne przechowują dane. Każda zmienna posiada własną nazwę (identyfikator) oraz przypisany jeden z dostępnych w języku C typów. Typ zmiennej określa rodzaj przechowywanej danej, np. znak, liczba całkowita, liczba rzeczywista oraz wielkość obszaru pamięci zajmowanego przez zmienną, np. 8, 16, 32 bity.

Podstawowe typy danych w języku C to:

W języku C należy każdą zmienną przed użyciem zdefiniować, definicję zmiennej można rozumieć jako tworzenie zmiennej. Zmienne definiuje się wpisując w linii typ zmiennej, a po nim nazwę zmiennej lub nazwy kilku zmiennych rozdzielone przecinkami; definicję kończymy średnikiem. Definiując zmienną można jednocześnie ją zainicjować umieszczając zaraz po nazwie zmiennej znak "=", a po nim wartość początkową dla zmiennej. Znaczenie ma miejsce definicji zmiennych, dokładnie objaśnię to przy temacie funkcji. W programach z tej części kursu będziemy definiować zmienne na początku funkcji main. Przykłady:

int main(void)

{
   /* Definicja zmiennej 'temperatura' typu char */
   char temperatura;

   /* Definicja zmiennej 'wysokość' typu unsigned int */
   unsigned int wysokosc;

   /* Definicja z inicjacją zmiennej 'napięcie' typu float */
   float napiecie = 3.36;

   /* Definicja z inicjacją zmiennej 'prędkość' typu int */

   int predkosc = 0; 

   /* Definicja trzech zmiennych typu unsigned char */
   unsigned char bieg, poziom = 1, stan;

Nazwy zmiennych mogą składać się z liter, z cyfr i znaku "_", ale nie mogą zaczynać się od cyfry; wielkość liter ma znaczenie, np. "temp" i "Temp" to dwie różne zmienne. Nie można używać w nazwach zmiennych polskich liter: ąćęłńóśźż ĄĆĘŁŃÓŚŹŻ.

W nazwach typów: short int, long int, long long int można pominąć słówko int, np. typ long oznacza typ long int. Dodając przed nazwę typu całkowitego słówko signed(unsigned) informujemy kompilator, że powinien traktować wartości w zmiennej jako liczby ze znakiem(bez znaku). Liczby ze znakiem (signed) zapisywane są na bitach w kodzie uzupełnień do dwóch U2(two's complement).

W dalszej części artykułu, znajdziesz szczegółowe opis następujących zagadnień:

Zapraszamy do zapoznania się z dalszą częścią artykułu.

Pytania? Komentarze? Zobacz forum!

Autor strony nie gwarantuje, że podawane tu informacje, porady, schematy oraz kody źródłowe programów są wolne od błędów i w żadnym wypadku nie może ponosić odpowiedzialności za jakiekolwiek szkody powstałe w wyniku ich wykorzystania.

© 2009 abxyz. Wszelkie prawa zastrzeżone mordka
Strona jest częścią wortalu forbot.pl
obrazekobrazek