Programowanie mikrokontrolerów rodziny AVR. Narzdzia rozwojowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowanie mikrokontrolerów rodziny AVR. Narzdzia rozwojowe"

Transkrypt

1 Programowanie mikrokontrolerów rodziny AVR Narzdzia rozwojowe 1

2 AVR-GCC AVR-GCC jest darmowym kompilatorem jzyka C (licencja GNU) słucym do pisania programów dla mikrokontrolerów serii AVR firmy ATMEL. Kompilator jest dołczany do rodowiska AVR Studio, pozwalajc na tworzenie projektów programistycznych w jzyku C/C++ 2

3 Programy narzdziowe - Binutils Jest to zbiór programów pozwalajcych na sprawne zarzdzanie projektem. Binutils s dołczone do rodowiska rozwojowego i wraz z kompilatorem AVR-GCC oraz bibliotek avr-libc stanowi kompletny łacuch narzdzi rozwojowych 3

4 Programy narzdziowe - Binutils Dostpne s nastpujce programy narzdziowe: avr-as - asembler avr-ld - linker avr-ar - zarzdza bibliotekami avr-ranlib generuje indeksy do bibliotek avr-objcopy kopiuje i tłumaczy zbiory obiektowe avr-objdump wywietla informacje z plików obiektowych avr-size podaje informacj o rozmiarze sekcji i programu avr-nm listuje symbole ze zboiru obiektowego avr-strings listuje łacuch znakowe ze zbiorów obiektowych avr-strip usuwa symbole avr-readelf wywietla zawarozbioru z rozszerzeniem ELF avr-addr2line konwertuje adresy avr-c++filt filtr symboli C++ 4

5 avr-libc jest standardow bibliotek C dla AVR-GCC. Biblioteka zawiera wiele standardowych funkcji C i właciwych dla architektury procesorów rodziny AVR. Dodatkowo biblioteka pozwala na tworzenie kodu startowego programu. 5

6 Mikrokontrolery spierane przez bibliotek avr-libc w wersji 1.4.7: megaavr: atmega103 atmega128 atmega1280 atmega1281 atmega16 atmega161 atmega162 atmega163 atmega164p atmega165 atmega165p atmega168 atmega168p atmega2560 atmega2561 atmega32 atmega323 atmega324p atmega325 atmega325p atmega3250 atmega3250p atmega328p atmega48 atmega48p atmega64 atmega640 atmega644 atmega644p atmega645 atmega6450 atmega8 atmega88 atmega88p atmega8515 atmega8535 6

7 Mikrokontrolery spierane przez bibliotek avr-libc w wersji 1.4.7: tinyavr: attiny11 attiny12 attiny13 attiny15 attiny22 attiny24 attiny25 attiny26 attiny261 attiny28 attiny2313 attiny43u attiny44 attiny45 attiny461 attiny48 attiny84 attiny85 attiny861 CAN AVR: at90can32 at90can64 at90can128 LCD AVR: atmega169 atmega169p atmega329 atmega329p atmega3290 atmega3290p atmega649 atmega6490 Lighting AVR: at90pwm1 at90pwm2 at90pwm2b at90pwm216 at90pwm3 at90pwm3b at90pwm316 Smart Battery AVR: atmega8hva atmega16hva atmega406 7

8 Mikrokontrolery spierane przez bibliotek avr-libc w wersji 1.4.7: Standardowe AVR: at90s1200 at90s2313 at90s2323 at90s2333 at90s2343 at90s4414 at90s4433 at90s4434 at90s8515 at90c8534 at90s8535 attiny461 attiny48 attiny84 attiny85 attiny861 USB AVR: at90usb82 at90usb162 at90usb646 at90usb647 at90usb1286 at90usb1287 Inne: at94k at76c711 at43usb320 at43usb355 at86rf401 8

9 Moduły biblioteki avr-libc w wersji 1.4.7: <alloca.h> - alokujacja pamici stosu <assert.h> - diagnostyka <ctype.h> - operacje na znakach <errno.h> - obsługa błdów <inttypes.h> - konwersje typów całkowitych <math.h> - funkcje matematyczne <setjmp.h> - długie skoki <stdint.h> - definicje standardowych typów całkowitych <stdio.h> - standardowa biblioteka wejcia/wyjcia <stdlib.h> - funkcje standardowe <string.h> - funkcje operujce na łacuchach <avr/boot.h> - narzdzia wspierajce funkcje bootloadera <avr/eeprom.h> - funkcje dostpu do wewntrznej pamici EEPROM <avr/interrupt.h> - funkcje obsługi przerwa <avr/io.h> - definicje rejestrów i bitów I/O (dołcza właciwe dla danego uc) <avr/pgmspace.h> - fukncje dostpu do pamici programu <avr/power.h> - funkcje zarzdzania energi <avr/sfr_defs.h> - funkcje operujce na rejestrach funkcyjnych 9

10 Moduły biblioteki avr-libc w wersji 1.4.7, cd: <avr/sleep.h>- funkcje zarzdzania trybami energooszczdnymi <avr/version.h> - makra wersji <avr/wdt.h> - funkcje obsługi Watchdoga <util/crc16.h> - obliczanie sum CRC <util/delay.h> - funkcje realizujce opónienia <util/delay_basic.h> - funkcje realizujce podstawowe opónienia <util/parity.h> - generowanie bitu parzystoci <util/twi.h> - definicje masek interfejsu TWI <compat/deprecated.h>- informacje o przestarzałych funkcjach <compat/ina90.h> - funkcje zapewniajce kompatybilno z IAR EWB 3.x Projekty przykładowe: kompilacja plików C i asemblerowych prosty projekt projekt bardziej złoony uywanie standardowych narzdzi I/O przykład uycia interfejsu TWI 10

11 Przykłady funkcji modułu <ctype.h> int isalpha (int c ) sprawdza, czy dana jest znakiem alfanumercznym int isascii (int c ) sprawdza, czy dana jest znakiem ASCII int isblank (int c ) - sprawdza, czy dana jest znakiem spacji lub tabulacji int isdigit (int c ) - sprawdza, czy dana jest cyfr dziesitn int toascii (int c ) konwertuje dan do znaku ASCII int tolower (int c ) - konwertuje wielk liter do małej int toupper (int c ) - konwertuje liter mał do wielkiej 11

12 Przykłady funkcji modułu <math.h> Trygonometryczne: double acos (double x ) arcus cosinus double asin (double x ) arcus sinus double atan (double x ) arcus tangens double atan2 (double y, double x ) arcus tangens x/y w danej wiartce double cos (double x ) - cosinus double cosh (double x ) cosinus hiperboliczny double sin (double x ) - sinus double sinh (double x ) sinus hiperboliczny double tan (double x ) - tangns double tanh (double x ) arcus tangens 12

13 Przykłady funkcji modułu <math.h> Zaokrglenia: double ceil (double x ) zaokrglenie w gór double floor (double x ) zaokrglenie w dół Potgi i pierwiastki: double exp (double x ) - eksponent double ldexp (double x, int exp ) iloczyn liczby x i potgi exp liczby 2 double pow (double x, double y ) potga y liczby x double square (double x ) kwadrat x double sqrt (double x ) pierwiastek kwadratowy x 13

14 Moduł <stdio.h> W module s implementowane podstawowe operacje I/O. Ze wzgldu na brak typowych urzdze wejcia wyjcia zakłada si kojarzenie strumieni I/O z jednym z portów szeregowych mikrokontrolera. Definicje: #define FILE struct file #define stdin ( iob[0]) #define stdout ( iob[1]) #define stderr ( iob[2]) #define EOF (-1) #define fdev_set_udata(stream, u) do { (stream)->udata = u; } while(0) #define fdev_get_udata(stream) ((stream)->udata) #define fdev_setup_stream(stream, put, get, rwflag) 14

15 Moduł <stdio.h> Definicje, cd: Biblioteka avr-libc #define _FDEV_SETUP_READ SRD #define _FDEV_SETUP_WRITE SWR #define _FDEV_SETUP_RW ( SRD SWR) #define _FDEV_ERR (-1) #define _FDEV_EOF (-2) #define FDEV_SETUP_STREAM(put, get, rwflag) #define fdev_close() #define putc( c, stream) fputc( c, stream) #define putchar( c) fputc( c, stdout) #define getc( stream) fgetc( stream) #define getchar() fgetc(stdin) 15

16 Funkcje modułu <stdio.h> int fclose (FILE * stream) int vfprintf (FILE * stream, const char * fmt, va_list ap) int vfprintf_p (FILE * stream, const char * fmt, va_list ap) int fputc (int c, FILE * stream) int printf (const char * fmt,...) int printf_p (const char * fmt,...) int vprintf (const char * fmt, va_list ap) int sprintf (char * s, const char * fmt,...) int sprintf_p (char * s, const char * fmt,...) int snprintf (char * s, size_t n, const char * fmt,...) int snprintf_p (char * s, size_t n, const char * fmt,...) int vsprintf (char * s, const char * fmt, va_list ap) int vsprintf_p (char * s, const char * fmt, va_list ap) int vsnprintf (char * s, size_t n, const char * fmt, va_list ap) int vsnprintf_p (char * s, size_t n, const char * fmt, va_list ap) int fprintf (FILE * stream, const char * fmt,...) int fprintf_p (FILE * stream, const char * fmt,...) 16

17 Funkcje modułu <stdio.h>, cd. int fputs (const char * str, FILE * stream) int fputs_p (const char * str, FILE * stream) int puts (const char * str) int puts_p (const char * str) size_t fwrite (const void * ptr, size_t size, size_t nmemb, FILE * stream) int fgetc (FILE * stream) int ungetc (int c, FILE * stream) char * fgets (char * str, int size, FILE * stream) char * gets (char * str) size_t fread (void * ptr, size_t size, size_t nmemb, FILE * stream) void clearerr (FILE * stream) int feof (FILE * stream) int ferror (FILE * stream) 17

18 Funkcje modułu <stdio.h>, cd. int vfscanf (FILE * stream, const char * fmt, va_list ap) int vfscanf_p (FILE * stream, const char * fmt, va_list ap) int fscanf (FILE * stream, const char * fmt,...) int fscanf_p (FILE * stream, const char * fmt,...) int scanf (const char * fmt,...) int scanf_p (const char * fmt,...) int vscanf (const char * fmt, va_list ap) int sscanf (const char * buf, const char * fmt,...) int sscanf_p (const char * buf, const char * fmt,...) int fflush (FILE *stream) FILE * fdevopen (int(*put)(char, FILE *), int(*get)(file *)) 18

19 Ograniczenia funkcji modułu <stdio.h>: Ze wzgldu na brak systemu operacyjnego nie ma faktycznej implementacji systemu plików Standardowe strumienie stdin, stdout i stderr s dostpne, ale musz by otwarte za pomoc funkcji fdevopen(), kojarzcej strumie z urzdzeniem wysyłajcym i odbierajcym znaki Implementacja funkcji printf() i scanf() jest skomplikowana i nie zaleca si ich uywa (zamiast nich wskazane jest uywa: vprintf() i vscanf() ) 19

20 Przykładowy program korzystajcy z modułu <stdio.h>: #include <stdio.h> static int uart_putchar(char c, FILE *stream); static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE); static int uart_putchar(char c, FILE *stream) { if (c == '\n') uart_putchar('\r', stream); loop_until_bit_is_set(ucsra, UDRE); UDR = c; return 0; } int main(void) { init_uart(); stdout = &mystdout; printf("hello, world!\n"); return 0; } 20

21 Moduł <avr/io.h> Moduł zawiera definicje rejestrów bitów i kocówek I/O dla mikrokontrolera W rzeczywistoci dołczony zostaje moduł <avr/ioxxxx.h> definiujcy I/O wybranego mikrokontrolra na podstawie opcji wywołania kompilatora -mmcu= typ_mikrokontrolera Moduł dołcza moduły: avr/sfr_defs.h, avr/portpins.h, avr/common.h i avr/version.h W module s zdefiniowane makra: RAMEND stała bdca adresem ostatniej komórki pamici RAM XRAMEND - stała bdca adresem ostatniej komórki zewntrznej pamici RAM E2END stała bdca adresem ostatniej komórki pamici EEPROM FLASHEND stała bdca adresem ostatniej komórki pamici FLASH SPM_PAGESIZE stała okrelajca rozmiar pamici bootloadera w bajtach 21

22 Moduł <stdlib/io.h> Moduł zawiera definicje makr i funkcji wymaganych przez standard jzyka i właciwych dla mikrokontrolerów AVR. Struktury danych: struct div_t, struct ldiv_t Funkcje niestandardowe: char * ltoa (long int val, char * s, int radix) char * utoa (unsigned int val, char * s, int radix) char * ultoa (unsigned long int val, char * s, int radix) long random (void)void srandom (unsigned long seed) long random_r (unsigned long * ctx) char * itoa (int val, char * s, int radix) 22

23 Moduł <stdlib/io.h> Stałe: #define RANDOM_MAX 0x7FFFFFFF Funkcje konwersji dla argumentów podwójnej precyzji: (umieszczone w module libm.a, dołczanej opcj wywołania kompilatora: -lm) char * dtostre (double val, char * s, unsigned char prec, unsigned char flags) char * dtostrf (double val, signed char width, unsigned char prec, char * s) #define DTOSTR_ALWAYS_SIGN 0x01 #define DTOSTR_PLUS_SIGN 0x02 #define DTOSTR_UPPERCASE 0x04 23

24 Moduł <stdlib/io.h> Definicje: #define RAND_MAX 0x7FFF typedef int(*) compar_fn_t (const void *, const void *) Funkcje: void abort (void) ATTR_NORETURN int abs (int i) long labs (long i) void * bsearch (const void * key, const void * base, size_t nmemb, size_t size, int(* compar)(const void *, const void *)) div_t div (int num, int denom) asm (" divmodhi4") ldiv_t ldiv (long num, long denom) asm (" divmodsi4") void qsort (void * base, size_t nmemb, size_t size, compar_fn_t compar) long strtol (const char * nptr, char ** endptr, int base) unsigned long strtoul (const char * nptr, char ** endptr, int base) long atol (const char * s) ATTR_PURE int atoi (const char * s) ATTR_PURE void exit (int status) ATTR_NORETURN 24

25 Moduł <stdlib/io.h> Funkcje, cd: void * malloc (size_t size) ATTR_MALLOC void free (void * ptr) void * calloc (size_t nele, size_t size) ATTR_MALLOC void * realloc (void * ptr, size_t size) ATTR_MALLOC double strtod (const char * nptr, char ** endptr) double atof (const char * nptr) int rand (void) void srand (unsigned int seed) int rand_r (unsigned long * ctx) Zmienne: size_t malloc_margin char * malloc_heap_start char * malloc_heap_end 25

26 Makra modułu <interrupt.h> sei() załcza system przerwa cli() wyłcza system przerwa EMPTY_INTERRUPT (vector ) puste przerwanie (tylko powrót) ISR (vector ) procedura obsługi przerwania o podanym wektorze ISR_ALIAS (vector, target_vector ) powtórzenie obsługi dla nowego wektora reti() powrót z procedury obsługi przerwania Moliwe kombinacje parametrów: ISR(vector, ISR_NOBLOCK) - procedura obsługi przerwania nie blokuje kolejnych przerwa ISR(vector, ISR_NAKED) - procedura obsługi przerwania definiowana w pełni przez uytkownika (równie prolog i epilog) 26

27 Uycie makr modułu <interrupt.h> Przykład: ISR(INT0_vect) { PORTB = 42; } ISR_ALIAS(INT1_vect, INT0_vect); 27

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Przykłady wykorzystanie funkcji printf i scanf do wyświetlania danych na wyświetlaczu LCD oraz komunikacji sterownika mikroprocesorowego

Bardziej szczegółowo

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof] 1 Plik jest wydzielonym fragmentem pamięci (najczęściej dyskowej) posiadającym nazwę. Z punktu widzenia C plik jest ciągiem bajtów, z których każdy może zostać oddzielnie odczytany. Zgodnie ze standardem

Bardziej szczegółowo

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór

Bardziej szczegółowo

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników Funkcja getchar() Jest to bardzo prosta funkcja, wczytująca 1 znak z

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

Operacje na łańcuchach znaków

Operacje na łańcuchach znaków Operacje na łańcuchach znaków wer. 6 z drobnymi modyfikacjami Wojciech Myszka 2014-02-09 16:32:23 +0100 Łańcuch znaków 1. Z łańcuchów znaków korzystamy powszechnie. 2. Najprostszy przykład: p r i n t f

Bardziej szczegółowo

Wstęp. do języka C na procesor 8051. (kompilator RC51)

Wstęp. do języka C na procesor 8051. (kompilator RC51) Wstęp do języka C na procesor 8051 (kompilator RC51) Kompilator języka C Kompilator RC51 jest kompilatorem języka C w standardzie ANSI Ograniczeń w stosunku do ANSI jest niewiele głównie rzadkie operacje

Bardziej szczegółowo

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

Wstęp do programowania 1

Wstęp do programowania 1 Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short

Bardziej szczegółowo

Operacje powiązane z systemem:

Operacje powiązane z systemem: PLIKI Operacje powiązane z systemem: funkcje biblioteczne stand. biblioteki C, libc; wykonywane jak wywołania innych funkcji; mogą wywoływać inne funkcje lub wywołania systemowe) wywołania systemowe zaimplementowane

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

Kompilator języka C na procesor 8051 RC51 implementacja Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C Systemy wbudowane Mikrokontrolery AVR Wprowadzenie do programowania w C dr inż. Maciej Piechowiak Wprowadzenie język C jest językiem strukturalnym wysokiego poziomu, jednak działającym blisko sprzętu i

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2 PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2 TEMAT: Obsługa pakietu - środowiska do tworzenia, analizy i uruchomienia programów w języku C/C++: Dev-C++. Ogólna struktura programu w języku C, stałe i zmienne,

Bardziej szczegółowo

J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE

J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE Przykład (program zamieniaj cy temperatur podan w skali Fahrenheita na temperatur w skali Celsjusza) Jak ma działa program? 1.

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

#include int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Podstawy programowania sem.ii. Laboratorium nr 1

Podstawy programowania sem.ii. Laboratorium nr 1 Podstawy programowania sem.ii Laboratorium nr 1 Wprowadzenie do środowiska Dev C++ i arytmetyki 1. Utworzyć katalog dla nowego projektu. Stworzyć nowy projekt konsolowy dla języka C. Napisać program drukujący

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania Język C Budowa programu napisanego w języku C podział na pliki z definicjami funkcji, korzystanie z bibliotek systemowych i własnych automatyzacja kompilacji za pomocą make dzielenie

Bardziej szczegółowo

#include void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie strukturalne język C

Programowanie strukturalne język C Programowanie strukturalne język C Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl S. Samolej - Informatyka 1 Cechy programowania strukturalnego

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) wersja 0.4 (20 kwietnia 2015) Filip A. Sala W niniejszym, bardzo krótkim opracowaniu, postaram się przedstawić

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1

Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1 Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1 ASCII The American Standard Code for Information Interchange, 1968 r. 7 bitów, liczby z zakresu 0-127

Bardziej szczegółowo

Prawidłowa konstrukcja (3 x 4) char** tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];

Prawidłowa konstrukcja (3 x 4) char** tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4]; Prawidłowa konstrukcja (3 x 4) char** tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4]; STOS STERTA tab for (size_t i = 0; i < 3; i++) delete[] tab[i]; delete[] tab; 1. Zrealizować

Bardziej szczegółowo

STRUKTURY. ZŁOŻONE PROJEKTY

STRUKTURY. ZŁOŻONE PROJEKTY STRUKTURY. ZŁOŻONE PROJEKTY 150 Struktura (rekord) Często w programie buduje się zestaw danych opisujących pewien obiekt za pomocą zbioru zmiennych o zróżnicowanych typach. Przydatne jest utworzenie złożonego

Bardziej szczegółowo

WYKŁAD 4, 5 i 6. Wprowadzenie do języka C Mój pierwszy, drugi,..., n-ty program w języku C. Programy: c1_1.c... c1_9.c.

WYKŁAD 4, 5 i 6. Wprowadzenie do języka C Mój pierwszy, drugi,..., n-ty program w języku C. Programy: c1_1.c... c1_9.c. WYKŁAD 4, 5 i 6 Wprowadzenie do języka C Mój pierwszy, drugi,..., n-ty program w języku C Programy: c1_1.c... c1_9.c Tomasz Zieliński KOMPILATOR vs. INTERPRETER (1) - ogólnie C/C++ = kompilatory tłumaczą

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Ćwiczenie 1 1.1. Pierwszy program w C Podstawy programowania w języku C Program w języku C, składa się ze zmiennych, stałych oraz funkcji. Zmienne i stałe służą do przechowywania danych, na których program

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 7 strlen size_t strlen(char const *s); Oblicza długość napisu wskazywanego przez s Przykładowy

Bardziej szczegółowo

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

Materiały. Języki programowania II (Java+AVR-GCC) Literatura Języki programowania II (Java+AVR-GCC) http://abm.p.lodz.pl dr inż. Michał Ludwicki Literatura Materiały Mikrokontrolery AVR Język C Podstawy programowania Mirosław Kardaś, Atnel, Szczecin, 2011. Specyfikacja

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Spis treści PLIKI TEKSTOWE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22

Spis treści PLIKI TEKSTOWE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

Spis treści ZAAWANSOWANE OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści ZAAWANSOWANE OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Preprocesor koncepcja, rola zasady wykorzystania Co to jest

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Wprowadzenie do programowania w języku C

Wprowadzenie do programowania w języku C Wprowadzenie do programowania w języku C Część trzecia Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio Programowanie Ćwiczenie Język C. Środowisko programowania Visual Studio Tematy ćwiczenia praca ze środowiskiem, tworzenie i uruchomienie programu, struktura programu, deklaracje i definicje typy standardowe,

Bardziej szczegółowo

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są

Bardziej szczegółowo

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Wprowadzenie do szablonów klas

Wprowadzenie do szablonów klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy

Bardziej szczegółowo

KURS C/C++ WYKŁAD 6. Wskaźniki

KURS C/C++ WYKŁAD 6. Wskaźniki Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres można

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Instytut Informatyki Politechnika Poznańska AVR ang. Advanced Virtual RISC Twórcami są Alf Egil Bogen, Vegard Wollan RISC Architektura AVR została opracowana przez dwóch studentów w Norweskim Instytucie

Bardziej szczegółowo

Laboratorium 6: Dynamiczny przydział pamięci. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 6: Dynamiczny przydział pamięci. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 6: Dynamiczny przydział pamięci dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 15 maja 2015 1. Wprowadzenie Instrukcja poświęcona jest dynamicznemu przydziałowi i zwalnianiu pamięci w

Bardziej szczegółowo

Inkubator AVR Podstawy obsługi i programowania mikrokontrolerów rodziny. CZĘŚĆ I. Wprowadzenie i hardware Co na temat AVR każdy wiedzieć powinien? Producent: ATMEL (www.atmel.com) Instrukcje wykonywane

Bardziej szczegółowo

Wskaźniki. Pamięć dynamiczna

Wskaźniki. Pamięć dynamiczna Wskaźniki. Pamięć dynamiczna wer. 8 z drobnymi modyfikacjami Wojciech Myszka 2015-04-13 11:39:01 +0200 Wskaźniki Wskaźniki to podstawa C. Kto nie umie się nimi posługiwać ten nie potrafi wykorzystać siły

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI

UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI INSTRUKCJA DO ĆWICZENIA I Algorytmizacja zadań, struktura programu Opracował: dr inż. Marcin Drechny

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

6 ARDUINO DLA POCZĄTKUJĄCYCH. PODSTAWY I SZKICE

6 ARDUINO DLA POCZĄTKUJĄCYCH. PODSTAWY I SZKICE Spis treści O autorze... 9 Podziękowania... 10 Wstęp... 11 Czym jest Arduino?... 11 Co będzie potrzebne?... 12 Korzystanie z niniejszej książki... 12 Pomoce... 13 Rozdział 1. Oto Arduino... 15 Mikrokontrolery...

Bardziej szczegółowo

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 - STK500v2 Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Programator STK500v2 jest programatorem ISP 8-bitowych mikrokontrolerów AVR firmy Atmel. Pod³¹czany do portu

Bardziej szczegółowo

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Programator procesorów rodziny AVR AVR-T910

Programator procesorów rodziny AVR AVR-T910 Programator procesorów rodziny AVR AVR-T910 Instrukcja obsługi Opis urządzenia AVR-T910 jest urządzeniem przeznaczonym do programowania mikrokontrolerów rodziny AVR firmy ATMEL. Programator podłączany

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

dr inż. Paweł Myszkowski Wykład nr 8 (22.04.2015)

dr inż. Paweł Myszkowski Wykład nr 8 (22.04.2015) dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 8 (22.04.2015) Plan prezentacji:

Bardziej szczegółowo

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

Mikrokontrolery ośmiobitowe

Mikrokontrolery ośmiobitowe Mikrokontrolery ośmiobitowe Czym jest mikrokontroler? Mikrokontroler ( C ) - to komputer wykonany w jednym uk adzie scalonym, u ywany do sterowania urz dzeniami elektronicznymi. Uk ad, oprócz jednostki

Bardziej szczegółowo

Jêzyk C. Szko³a programowania. Wydanie V

Jêzyk C. Szko³a programowania. Wydanie V IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOœCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREœCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

ECLIPSE wnioski z dwóch pierwszych laboratoriów

ECLIPSE wnioski z dwóch pierwszych laboratoriów PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

!"" ' #$$$%&' ()*$+&',! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

! ' #$$$%&' ()*$+&',! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. !"" "! "#$%&$ ' #$$$%&' ()*$+&',! (" " $! #)' -$$!.$$/)$! 01 021! 3$ Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka o stałej szerokoci pogrubiona

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość

Bardziej szczegółowo

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; }; Typy pochodne. Referencje Referencja jest inną nazwą zmiennej. KURS C/C++ WYKŁAD 7 Referencje tworzymy przy pomocy unarnego operatora &: int a; int &refer = a; // referencja musi być inicjowana Powyższe

Bardziej szczegółowo

Łącza nienazwane(potoki)

Łącza nienazwane(potoki) 8. Łącza nienazwane(potoki) Łącze (potok, ang. pipe) jest to urządzenie komunikacyjne pozwalające na przesyłanie informacji w jedną stronę. Jeden proces wysyła dane do łącza za pomocą funkcji write, zaś

Bardziej szczegółowo