Course Code: ansices
Duration: 14 hours
Prerequisites:

Brak

Overview:

Programowanie w języku C z naciskiem na jego wykorzystanie w rozwoju systemów wbudowanych.

Course Outline:

C Podstawowe typy danych

  • Typy całkowite
  • Typy zmiennoprzecinkowe
  • Wskaźniki (arytmetyka wskaźnikowa, dereferencja wskaźników)
  • Tablice
  • Związek między tablicami i wskaźnikami
  • Wyliczenia

Konstrukcje Programming

  • Instrukcje if - else
  • instrukcje switch
  • pętle while i pętle do - while
  • pętle for
  • instrukcje goto
  • Funkcje w języku C
  • Prototypy funkcji
  • Zrozumienie mechanizmu C call by value do przekazywania argumentów
  • Implementowanie funkcji
  • Wywoływanie funkcji
  • Używanie wskaźników do przekazywania wartości przez odniesienie
  • Przekazywanie tablic do funkcji
  • Zrozumienie mechanizmu wartości zwracanej języka C
  • Używanie wskaźników do zwracania wartości przez referencję

Struktury danych

  • Definiowanie struktur danych
  • Accessingowanie i manipulowanie elementami struktury danych
  • Wskaźniki do struktur danych
  • Operator strzałki (->)
  • Używanie wskaźnika do przechodzenia przez tablicę struktur danych

Tematy zaawansowane

  • Wskaźniki do wskaźników
  • Wskaźniki funkcji
  • Słowa kluczowe const i static - ich znaczenie i zastosowania
  • Rzuty i rzutowanie  Używanie wskaźników void *
  • Struktury danych zawierające wskaźniki do struktur danych
  • Struktury danych zawierające wskaźniki do funkcji
  • Wskaźniki funkcji i programowanie oparte na tabelach
  • Pola bitowe w strukturach danych
  • Związki
  • Używanie tablic do implementacji okrągłych buforów i stosów
  • Moduły jako struktury danych i interfejsy
  • Dynamiczne struktury danych i ich zastosowania
    • Listy połączone pojedynczo
    • Listy podwójnie połączone

Przegląd biblioteki standardowej języka C

  • putc, putchar, getc, getchar
  • printf, scanf
  • Funkcje manipulacji ciągami znaków (strcpy, strcat, ...) Tematy dotyczące systemów wbudowanych
  • Ustawianie adresów portów
  • Definiowanie struktur danych zorientowanych bitowo
  • Funkcje specyficzne dla kompilatora
    • #pragmas
    • Rozszerzenia C inne niż ANSII
    • [Rejestry funkcji specjalnych i manipulowanie nimi
    • Implementowanie obsługi przerwań
    • Wywoływanie kodu asemblera z języka C
    • Wywoływanie języka C z kodu asemblera
  • Łączniki i skrypty łączników
  • Zrozumienie docelowych bibliotek urządzeń peryferyjnych i ich zastosowań
  • Implementowanie własnych bibliotek urządzeń
  • Timery i ich zastosowania
    • Czasomierze sprzętowe
    • Timery programowe

Podstawy programowania sterowanego zdarzeniami

  • Port I/O - migające diody LED
  • Opóźnienia programowe
  • Skanowanie klawiatury
  • Podstawy RS232
  • Podstawowa akwizycja danych i łączenie czujników
  • Praca z pamięcią EEPROM (na chipie i SPI/I2C)
Sites Published:

United Arab Emirates - Ansi C for Embedded Systems

Qatar - Ansi C for Embedded Systems

Egypt - Ansi C for Embedded Systems

Saudi Arabia - Ansi C for Embedded Systems

South Africa - Ansi C for Embedded Systems

Brasil - Ansi C for Embedded Systems

Canada - Ansi C for Embedded Systems

中国 - Ansi C for Embedded Systems

香港 - Ansi C for Embedded Systems

澳門 - Ansi C for Embedded Systems

台灣 - Ansi C for Embedded Systems

USA - Ansi C for Embedded Systems

Österreich - Ansi C for Embedded Systems

Schweiz - Ansi C for Embedded Systems

Deutschland - Ansi C for Embedded Systems

Czech Republic - Ansi C for Embedded Systems

Denmark - Ansi C for Embedded Systems

Estonia - Ansi C for Embedded Systems

Finland - Ansi C for Embedded Systems

Greece - Ansi C for Embedded Systems

Magyarország - Ansi C for Embedded Systems

Ireland - Ansi C for Embedded Systems

Luxembourg - Ansi C for Embedded Systems

Latvia - Ansi C for Embedded Systems

España - Ansi C para Sistemas Embebidos

Italia - Ansi C for Embedded Systems

Lithuania - Ansi C for Embedded Systems

Nederland - Ansi C for Embedded Systems

Norway - Ansi C for Embedded Systems

Portugal - Ansi C for Embedded Systems

România - Ansi C for Embedded Systems

Sverige - Ansi C for Embedded Systems

Türkiye - Ansi C for Embedded Systems

Malta - Ansi C for Embedded Systems

Belgique - Ansi C for Embedded Systems

France - Ansi C for Embedded Systems

日本 - Ansi C for Embedded Systems

Australia - Ansi C for Embedded Systems

Malaysia - Ansi C for Embedded Systems

New Zealand - Ansi C for Embedded Systems

Philippines - Ansi C for Embedded Systems

Singapore - Ansi C for Embedded Systems

Thailand - Ansi C for Embedded Systems

Vietnam - Ansi C for Embedded Systems

India - Ansi C for Embedded Systems

Argentina - Ansi C para Sistemas Embebidos

Chile - Ansi C para Sistemas Embebidos

Costa Rica - Ansi C para Sistemas Embebidos

Ecuador - Ansi C para Sistemas Embebidos

Guatemala - Ansi C para Sistemas Embebidos

Colombia - Ansi C para Sistemas Embebidos

México - Ansi C para Sistemas Embebidos

Panama - Ansi C para Sistemas Embebidos

Peru - Ansi C para Sistemas Embebidos

Uruguay - Ansi C para Sistemas Embebidos

Venezuela - Ansi C para Sistemas Embebidos

Polska - Ansi C for Embedded Systems

United Kingdom - Ansi C for Embedded Systems

South Korea - Ansi C for Embedded Systems

Pakistan - Ansi C for Embedded Systems

Sri Lanka - Ansi C for Embedded Systems

Bulgaria - Ansi C for Embedded Systems

Bolivia - Ansi C para Sistemas Embebidos

Indonesia - Ansi C for Embedded Systems

Kazakhstan - Ansi C for Embedded Systems

Moldova - Ansi C for Embedded Systems

Morocco - Ansi C for Embedded Systems

Tunisia - Ansi C for Embedded Systems

Kuwait - Ansi C for Embedded Systems

Oman - Ansi C for Embedded Systems

Slovakia - Ansi C for Embedded Systems

Kenya - Ansi C for Embedded Systems

Nigeria - Ansi C for Embedded Systems

Botswana - Ansi C for Embedded Systems

Slovenia - Ansi C for Embedded Systems

Croatia - Ansi C for Embedded Systems

Serbia - Ansi C for Embedded Systems

Bhutan - Ansi C for Embedded Systems

Nepal - Ansi C for Embedded Systems

Uzbekistan - Ansi C for Embedded Systems