Odpowiedz 
 
Ocena wątku:
  • 3 Głosów - 3.33 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie w języku C w środowisku AVR Studio4
SP5FCS Offline
Adam
*****

Liczba postów: 1,072
Dołączył: 02-02-2009
Post: #130
RE: Programowanie w języku C w środowisku AVR Studio4
Początki nauki zawsze są proste i przyjemne, potem jest coraz trudniej i trudniej dlatego często brakuje zapału i determinacji do pełnego opanowania języka. Możliwości języka C są naprawdę bardzo duże, składnia bardzo wyszukana, trzeba zwracać uwagę na najdrobniejsze szczegóły. Oprócz poznawania elementów samego języka warto również od początku uczyć się zasad dobrego stylu programowania. Potem pozostaje już tylko zdobywanie doświadczenia przy kolejnych projektach ale na to trzeba wielu miesięcy a nawet i lat.
Nie ma lekko WinkWink.

Pliki źródłowe i nagłówkowe
Plik źródłowy zawiera kod programu tworzony przez programistę wg. składni języka. Taki plik stanowi źródło dla kompilatora, który zamienia go na kod maszynowy zrozumiały dla procesora. Dla poprawienia czytelności programu oraz ułatwienia jego edycji zaleca się dzielenie całego programu na mniejsze, tematyczne moduły zapisywane w oddzielnych plikach źródłowych (np. LCD, SPI, ADC, Setup, itd.). Dodatkowe pliki źródłowe do obsługi określonych funkcji, zasobów procesora mocą być wykorzystywane jako uniwersalne moduły w innych projektach. Aby kompilator widział kod umieszczony w zewnętrznych plikach musimy je podłączyć pod główny kod programu lub podać taką informację w konfiguracji projektu.

Kod:
#include "lcd_alfanum.c"  // obsługa wyświetlacza LCD
#include "AD9951.c"         // obsługa DDS-a przez SPI

Takie rozwiązanie poprawia czytelność kodu, wprowadza pewien porządek ale ma również istotne wady:
- kompilowany musi być cały kod programu łącznie z dodatkowymi plikami co pochłania sporo czasu przy rozbudowanych projektach;
- musimy posiadać wszystkie pliki źródłowe wchodzące w skład projektu;
- nie możemy ukryć części zmiennych oraz funkcji definiowanych w dodatkowych plikach źródłowych;

Aby pozbyć się powyższych wad na potrzeby języka C wymyślono pliki nagłówkowe. Przykładowy projekt biblioteki do obsługi wyświetlacza musi posiadać dwa pliki: plik źródłowy lcd.c oraz plik nagłówkowy lcd.h. Plik lcd.c zawiera definicje zmiennych globalnych dla LCD oraz zestaw funkcji do obsługi wyświetlacza LCD. Plik nagłówkowy lcd.h zawiera tylko definicję pinów oraz deklarację zmiennych i deklarację funkcji, które będą widoczne w programie głównym po jego wczytaniu. Taka konstrukcja pliku nagłówkowego pozwala na szybką modyfikację i zmianę konfiguracji pinów bez potrzeby edycji pliku źródłowego. Nie wszystkie zmienne i funkcje zdefiniowane w pliku lcd.c muszą być udostępnione w pliku nagłówkowym co skutkuje tym, że nie będą one widoczne w innych modułach projektu.

Taka koncepcja plików bibliotecznych pozwala na:
- rozdzielenie deklaracji i definicji zmiennych oraz funkcji;
- niezależne kompilowanie poszczególnych modułów projektu;
- oszczędność czasu kompilacji całego projektu, pliki biblioteczne są dołączane na etapie linkowania;
- pracę zespołową wielu programistów nad jednym projektem bez udostępniania źródeł, wystarczą pliki nagłówkowe oraz pliki po kompilacji;
- ukrywanie zmiennych oraz funkcji widocznych tylko w jednym module projektu.

73 Adam
03-03-2012 0:13
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Programowanie w języku C w środowisku AVR Studio4 - SP5FCS - 03-03-2012 0:13

Skocz do:


Użytkownicy przeglądający ten wątek: 38 gości