Programování mikroprocesor AVR v jazyce C. Ji í Bourek 16. kv tna 2007

Rozměr: px
Začít zobrazení ze stránky:

Download "Programování mikroprocesor AVR v jazyce C. Ji í Bourek 16. kv tna 2007"

Transkript

1 Programování mikroprocesor AVR v jazyce C Ji í Bourek 16. kv tna

2 1 Úvod Oproti b ºným procesor m pouºívaným v osobních po íta ích jsou mikroprocesory vcelku jednoduchá za ízení a je tedy moºné je vcelku snadno programovat p ímo v assembleru. Takto napsané programy bývají velice rychlé, ale vývoj jako takový trvá p íli² dlouho. Z toho d vodu se mikroprocesory b ºn programují v jazyce C. 2 Knihovna avr-libc 2.1 P eklada avr-gcc a projekt WinAVR Aby nemuseli d lat v²echnu práci odznova, vývojá i p eklada e jazyka C pro architekturu AVR pouºili jako základ p eklada gcc (GNU C Compiler) a ostatní utility pouºívané pro vývoj na opera ním systému Linux a dal²ích unixových systémech. P eklada gcc jako takový byl pozd ji portován i na Windows, takºe i avr-gcc je moºné v tomto OS pouºívat a dokonce ho i integrovat do vývojového prost edí AVR Studio od rmy Atmel. Pro snadnou instalaci a pouºití p eklada e avr-gcc vznikl projekt WinAVR ( který obsahuje p eklada, ostatní utility a dal²í software. Pro architekturu AVR byla portována i knihovna libc. Tuto knihovnu je moºné voln pouºít pro vývoj jak uzav ených, tak open source program. Je obsaºena v balíku WinAVR, ale lze ji stáhnout i samostatn ze stránek projektu ( Poznámka: Tento dokument je psán podle sou asné verze avr-libc; pokud je n kde uvedeno, jak p eklada p eloºí kód, platí to pro avr-gcc verze Vybrané hlavi kové soubory - <avr/io.h> Tato hlavi ka umoº uje práci s hardwarem mikroprocesoru, zp ístup uje I/O registry. Protoºe se po et a jména registr li²í podle typu, obsahuje tento hlavi kový soubor pouze ty registry, které jsou spole né pro v²echny procesory AVR, které se dají programovat v C. P i p ekladu dostává avr-gcc jako parametr typ mikroprocesoru, pro který se program p ekládá. P i preprocesingu denuje makro, které tomuto parametru odpovídá, toto makro se pouºije p i podmín ném p ekladu a p i vloºení <avr/io.h> se automaticky vloºí dal²í hlavi kový soubor, který odpovídá konkrétnímu za ízení. K port m je moºné p istupovat jménem, které je uvedné v manuálu. Následující p íklad p epne celý port A do reºimu výstup a výstupní piny nastaví do logické 1. #include <avr/io.h> DDRA = 0xff; PORTA = 0xff; 2.3 <avr/interrupt.h> Tento hlavi kový soubor vkládá funkce a makra slouºící k obsluze p eru²ení. Funkce, která obsluhuje p eru²ení, je deklarována takto: ISR (p eru²ení) { Místo p eru²ení je pot eba zadat jméno vektoru p eru²ení, nap íklad obsluha vn j²ího p eru²ení je pojmenována INT0_vect 1. Po startu procesoru je v registru p íznak vynulován bit I (globální povolení p eru²ení). Ten je moºné z programu nastavit zavoláním funkce sei() a vynulovat voláním cli() 2. Pokud n jaké p eru²ení eká na obslouºení, po povolení p eru²ení funkcí sei() se vykoná je²t jedna instrukce a poté procesor sko í do obsluºné funkce. 1 Kompletní seznam je vypsán v dokumentaci avr-libc na webu na adrese avr interrupts.html 2 sei() ani cli() ve skute nosti nejsou funkce, ale makra, která na dané místo kódu vloºí instrukci sei (cli) 2

3 Následuje nástin programu, který bude reagovat na vn j²í p eru²ení: #include <avr/interrupt.h> ISR (INT0_vect) { // n jaká akce // inicializace - povolení vn j²ího p eru²ení sei(); loop: // hlavní smy ka programu goto loop; V obsluze p eru²ení je pot eba uloºit na zásobník hodnoty registr a registr p íznak - to automaticky zajistí p eklada. P i vstupu do obsluºné funkce procesor automaticky vynuluje bit I v registru p íznak a tím zabra uje obsluze dal²ího p eru²ení do doby, neº je obslouºeno p eru²ení první. Po návratu z obsluhy p eru²ení je p íznak I znovu nastaven a m ºe být zavolána dal²í obsluºná funkce. Pokud je ºádoucí, aby obsluha n jakého p eru²ení mohla být p eru²ena, lze to p eklada i oznámit atributem interrupt: ISR (INT0_vect) attribute ((interrupt)); ISR (INT0_vect) { // obsluha p eru²ení Tento atribut zp sobí, ºe p eklada p ed první instrukci v obsluze p eru²ení vloºí instrukci sei a tím op t povolí p eru²ovací systém. Pokud tedy na obsluhu eká dal²í p eru²ení, vykoná se jedna instrukce (zpravidla push r1) a procesor sko í do ekající obsluºné funkce. Vektory p eru²ení, pro které nejsou denovány ºádné obsluºné funkce, dodenuje p eklada tak, ºe procesor sko í na programovou adresu 0 a vyresetuje se. Tomuto chování lze zabránit denováním prázdného p eru²ení: EMPTY_INTERRUPT (INT1_vect); Prázdné p eru²ení obsahuje po p eloºení pouze instrukci reti. 2.4 <avr/sleep.h> Procesory AVR disponují n kolika reºimy spánku, ve kterých procesor spot ebovává mén energie. Pokud je pot eba procesor uspat, je nutné postupovat v t chto krocích. 1. Nastavit typ reºimu spánku - procesor má podle typu n kolik reºim spánku, které se li²í tím, kolik energie se u²et í, jak dlouho trvá probuzení a jaké události mohou probuzení zp sobit. Jednotlivé reºimy jsou denovány t mito makry: SLEEP_MODE_ADC SLEEP_MODE_IDLE SLEEP_MODE_STANDBY SLEEP_MODE_EXT_STANDBY SLEEP_MODE_PWR_DOWN SLEEP_MODE_PWR_SAVE Do kterého reºimu procesor p ejde, je nastaveno funkcí set_sleep_mode (), jméno reºimu se jí p edává jako parametr. 2. Povolit uspání procesoru - i kdyº je nastaveno, do jakého reºimu má procesor p ejít, stále není moºné ho uspat, protoºe po resetu to není povoleno. Povolení reºimu spánku se provede zavoláním funkce sleep_enable(), op tovné zakázání tohoto reºimu funkcí sleep_disable() 3 3. Zavolat funkci pro uspání - pokud je uspávání povoleno, procesor se do reºimu spánku p epne voláním funkce sleep_cpu() 4. Poznámka: Procesor se probouzí, pokud nastane p eru²ení. P ed voláním sleep_cpu() je tedy nutné volat funkci sei(). 3 Tyto funkce jsou ve skute nosti makra, která nastaví nebo vynulují I/O registr, kterým se reºim slánku ovládá. 4 Ve skute nosti jde o makro, které na místo funkce vloºí assemblerovskou instrukci sleep 3

4 2.5 <stdlib.h> Poznámka: Z této knihovny jsou vybrány jenom n které funkce malloc(), free() Jak pí²í auto i dokumentace, implementovat dynamické alokace pam ti na procesorech, které mají minimum pam ti, není nic jednoduchého. Standardní rozvrºení pam ti je takové, ºe na za átek se umis ují sekce.data a.bss. Za t mito sekcemi se nachází halda, zásobník za íná na konci pam ti a roste sm rem k niº²ím adresám. To znamená, ºe pokud je alokováno hodn dynamické pam ti (ale také pokud dojde k fragmentaci pam ti) a zárove je pot eba uloºit p íli² mnoho dat na zásobník, m ºe dojít ke kolizi. Pokud je k dispozici vn j²í pam, je moºné rozvrºení m nit, napríklad lze vyhradit vnit ní RAM pouze pro zásobník a v²echny prom nné umístit do pam ti vn j²í. Návod je k dispozici v dokumentaci - Parametrem funkce malloc() je, kolik pam ti je pot eba alokovat; vrací ukazatel na alokované místo nebo NULL. Funkce free() má jako parametr ukazatel exit() Volání funkce exit() ukon í program. Protoºe v mikroprocesoru není nad azené prost edí, do kterého by bylo moºné se vrátit, program je ukon en nekone nou smy kou. Parametrem funkce je celé íslo, které je ignorováno. P eklada automaticky vloºí nekone nou smy ku na konec programu - pokud je funkce main() n jak p eru²ena (b h programu dojde na konec nebo pouºitím p íkazu return), program sko í na tuto nekone nou smy ku. 3 Programování a p eklad v t²ích projekt 3.1 Jednoduchý program Následující jednoduchý p íklad pouºije pin 1 na portu A jako výstupní a st ídá na n m logickou 0 a 1. #include <avr/io.h> unsigned int a; DDRA = (1 < < DDA1); loop: PORTA = (1 < < PORTA1); PORTA &= ~(1 < < PORTA1); goto loop; Kód uloºíme do souboru prvni.c a p eloºíme z p íkazové ádky (musíme být v adresá i, ve kterém je zdrojový kód uloºen): avr-gcc -g2 -Wall -mmcu=atmega16 -o prvni.elf prvni.c Parametry p edávané p eklada i v tomto p ípad zajistí, ºe výstup bude obsahovat ladící informace (-g2), p i p ekladu budou vypisována v²echna varování (-Wall), p ekládáme pro procesor AtMega 16 (-mmcu). Pokud se pokusíme p eloºit program pro procesor, který nemá port A, p eklada vrátí chybové hlá²ení: error: 'DDRA' undeclared (first use in this function) error: (Each undeclared identifier is reported only once error: for each function it appears in.) V tuto chvíli bychom rádi pro kontrolu vid li, jaký assemblerovský kód p eklada vygeneroval. K tomu slouºí dal²í utilita - avr-objdump avr-objdump -h -S prvni.elf >prvni.lst 4

5 Tímto p íkazem vygenerujeme soubor prvni.lst, který obsahuje hlavi ky sekcí a disassemblovaný kód, který je tam, kde je to moºné, uvozen C kódem, který k n mu pat í 5. Kdyº si soubor prohlédneme, zjistíme, ºe po spu²t ní programu p eklada vloºil kód, který jsme nepsali. V n m zaji² uje zkopírování dat uloºených v programové pam ti (konstanty, et zce) do pam ti opera ní a inicializuje globální prom nné. Protoºe ani jedno z toho v tomto p íkladu není pouºito, kód se p esko í. Poté uº následuje ná² program: 8e: cd e5 ldi r28, 0x5D ; 93 90: d4 e0 ldi r29, 0x04 ; 4 92: de bf out 0x3e, r29 ; 62 94: cd bf out 0x3d, r28 ; 61 unsigned int a; Jako první p eklada inicializuje ukazatel zásobníku (stack pointer, SP) tém na konec pam ti (p idáváním dat na zásobník se hodnota v SP sniºuje). Nad ukazatelem nechává 2B místa pro prom nnou a. DDRA = (1 < < DDA1); 96: aa e3 ldi r26, 0x3A ; 58 98: b0 e0 ldi r27, 0x00 ; 0 9a: ea e3 ldi r30, 0x3A ; 58 9c: f0 e0 ldi r31, 0x00 ; 0 9e: ld r24, Z a0: ori r24, 0x02 ; 2 a2: 8c 93 st X, r24 Tato sekce nastaví pin 1 na portu A jako výstupní. Na výstupu je logická nula. loop: PORTA = (1 < < PORTA); a4: ab e3 ldi r26, 0x3B ; 59 a6: b0 e0 ldi r27, 0x00 ; 0 a8: eb e3 ldi r30, 0x3B ; 59 aa: f0 e0 ldi r31, 0x00 ; 0 ac: ld r24, Z ae: ori r24, 0x02 ; 2 b0: 8c 93 st X, r24 Zde program p e te hodnotu aktuáln zapsanout v PORTA, logicky ji se te s dvojkou (piny se íslují od nuly, pin 1 tedy odpovídá bitu 2) a výsledek znovu zapí²e do PORTA. Tím na výstupu nastaví logickou 1. b2: 81 e0 ldi r24, 0x01 ; 1 b4: 90 e0 ldi r25, 0x00 ; 0 b6: 9a 83 std Y+2, r25 ; 0x02 b8: std Y+1, r24 ; 0x01 ba: 05 c0 rjmp.+10 ; 0xc6 <main+0x38> bc: ldd r24, Y+1 ; 0x01 be: 9a 81 ldd r25, Y+2 ; 0x02 c0: adiw r24, 0x01 ; 1 c2: 9a 83 std Y+2, r25 ; 0x02 c4: std Y+1, r24 ; 0x01 c6: ldd r24, Y+1 ; 0x01 c8: 9a 81 ldd r25, Y+2 ; 0x02 ca: sbiw r24, 0x00 ; 0 cc: b9 f7 brne.-18 ; 0xbc <main+0x2e> Aby se logická hodnota na výstupu nem nila p íli² rychle, vloºíme do programu ekací smy ku. Na za átku cyklu uloºí do prom nné a jedni ku a v kaºdé iteraci cyklu program na te hodnotu prom nné a z pam ti, zvý²í ji o 1 a znovu ji uloºí. Kdyº hodnota p ete e z zpátky na 0, program z cyklu vysko í Ne vºdy se to poda í - ve sloºit j²ím kódu se asto stane, ºe v souboru najdeme nejprve dlouhý blok C kódu a teprve potom dlouhý blok assemblerovských instrukcí - v takovém p ípad se dost t ºko ur uje, co k emu pat í a obtíºn se hledají p ípadné chyby. 6 V jazyce C neexistuje prom nná typu logická hodnota - nenulová hodnota znamená TRUE, nula je FALSE. V tomto p ípad tedy cyklus b ºí tak dlouho, dokud hodnota v a není nulová. 5

6 PORTA &= ~(1 < < PORTA1); ce: ab e3 ldi r26, 0x3B ; 59 d0: b0 e0 ldi r27, 0x00 ; 0 d2: eb e3 ldi r30, 0x3B ; 59 d4: f0 e0 ldi r31, 0x00 ; 0 d6: ld r24, Z d8: 8d 7f andi r24, 0xFD ; 253 da: 8c 93 st X, r24 Nyní pin nastavíme zp t do logické nuly. Program na te hodnotu v PORTA, logicky ji vynásobí s hodnotou, ve které jsou v²echny bity krom bitu 2 v logické 1, a výsledek uloºí zp t. dc: 81 e0 ldi r24, 0x01 ; 1 de: 90 e0 ldi r25, 0x00 ; 0 e0: 9a 83 std Y+2, r25 ; 0x02 e2: std Y+1, r24 ; 0x01 e4: 05 c0 rjmp.+10 ; 0xf0 <main+0x62> e6: ldd r24, Y+1 ; 0x01 e8: 9a 81 ldd r25, Y+2 ; 0x02 ea: adiw r24, 0x01 ; 1 ec: 9a 83 std Y+2, r25 ; 0x02 ee: std Y+1, r24 ; 0x01 f0: ldd r24, Y+1 ; 0x01 f2: 9a 81 ldd r25, Y+2 ; 0x02 f4: sbiw r24, 0x00 ; 0 f6: b9 f7 brne.-18 ; 0xe6 <main+0x58> goto loop; f8: d5 cf rjmp.-86 ; 0xa4 <main+0x16> ƒekací cyklus je stejný, kdyº dob hne, program sko í na za átek smy ky a v²e se opakuje 7. Tento kód je na první pohled velice neefektivní - jenom nastavení I/O registru DDRA zabere dev t hodinových cykl a pouºívá se p itom p t registr. V ekacím cykl se prom nná a zbyte n ukládá do pam ti, p itom by mohla z stat v registrech a b h programu by se tím zrychlil 8. Proto program p eloºíme je²t jednou a tentokrát zapneme optimalizace: avr-gcc -g2 -Wall -O2 -mmcu=atmega16 -o prvni.elf prvni.c avr-objdump -h -S prvni.elf >prvni.lst Disassemblovaný program bude vypadat takto: 8e: cf e5 ldi r28, 0x5F ; 95 90: d4 e0 ldi r29, 0x04 ; 4 92: de bf out 0x3e, r29 ; 62 94: cd bf out 0x3d, r28 ; 61 unsigned int a; DDRA = (1 < < DDA1); 96: d1 9a sbi 0x1a, 1 ; 26 loop: PORTA = (1 < < PORTA1); 98: d9 9a sbi 0x1b, 1 ; 27 PORTA &= ~(1 < < PORTA1); 9a: d9 98 cbi 0x1b, 1 ; 27 9c: fd cf rjmp.-6 ; 0x98 <main+0xa> V nastavení registru DDRA je vid t zna né zlep²ení: p eklada pouºil instrukci sbi - nastavení bitu v I/O registru 9, 7 V kaºdé knize o programování po íta se pí²e, ºe p íkaz goto by se m l pouºívat omezen, nebo lépe v bec, protoºe zp sobí, ºe procesor nem ºe vyuºít pipelining a program se zpomaluje. P i programování mikroprocesor tomu tak není a pouºití goto je (pokud je pot eba n kam sko it) naprosto regulérní. 8 Dalo by se íct, ºe kdyº vyrábíme ekací smy ku, n jaká pomalost nám nevadí. V tomto p ípad ne, ale pokud bychom pot ebovali ekat n jaký p esný as, je vhodné, aby doba prob hnutí jednoho cyklu byla co nejkrat²í, protoºe ji násobíme celým íslem - ím krat²í doba cyklu, tím p esn j²í asování m ºeme získat. 9 Pro tuto instrukci nepouºívá automaticky? Instrukce sbi a cbi nefungují pro v²echny I/O registry, takºe je nutné zkoumat kód a zjistit, jaký registr se nastavuje, coº spadá pod optimalizace. 6

7 stejnou instrukci pouºil pro manipulaci s registrem PORTA. Nicmén je také vid t, ºe se n co nepovedlo - p eklada analyzoval kód a zjistil, ºe hodnota prom nné a se nikde nepouºívá, proto zcela vylou il oba ekací cykly a pro samotnou prom nnou ani nealokoval místo v pam ti. Abychom tomu zabránili, musíme deklarovat prom nnou a jinak: volatile unsigned int a; Slovo volatile íká p eklada i, ºe hodnota prom nné a se m ºe kdykoliv v b hu programu zm nit, aniº by o tom v d l. To se vztahuje nap íklad na prom nné, se kterými pracujeme jak v hlavní smy ce programu, tak v obsluze p eru²ení. P eklada nijak nezkoumá, jestli se hodnota v a opravdu m ºe zm nit a jestli ji opravdu pouºíváme v n jaké obsluze p eru²ení (zde se zm nit nem ºe, ºádné p eru²ení neobsluhujeme), proto kód, ve kterém s touto prom nnou pracujeme, neodstraní (to chceme), ale na druhou stranu po kaºdé zm n novou hodnotu uloºí do pam ti. 3.2 Jednoduchý Makele Neustálé vypisování avr-gcc..., kdyº pot ebujeme program p eloºit, se po n kolika opakováních zna n omrzí, takºe vyuºijeme utilitu make, která nám zna n u²et í práci. V adresá i, ve kterém máme uloºen program, vytvo íme soubor Makele 10, který bude obsahovat následující: PRG OBJ MCU_TARGET = prvni = prvni.o = atmega16 CC OBJCOPY OBJDUMP override CFLAGS = avr-gcc = avr-objcopy = avr-objdump = -g2 -Wall -O2 -mmcu=$(mcu_target) $(DEFS) program: $(PRG).elf lst all: $(PRG).elf lst $(PRG).elf: $(OBJ) $(CC) $(CFLAGS) -o $@ $^ $(LIBS) lst: $(PRG).lst %.lst: %.elf $(OBJDUMP) -h -S $< > $@ D leºitá poznámka - ádky, které jsou odsazené (nap. $(OBJDUMP) -h -S $< > $@), jsou odsazené dv ma tabulátory. Pokud zvolíte jiný zp sob, Makele nebude fungovat. Nyní program p eloºíme prostým zadáním p íkazu make na p íkazové ádce v adresá i, ve kterém je uloºen zdrojový kód a Makele. 3.3 Program sloºený z více soubor P edpokládejme, ºe máme sloºit j²í program a chceme ho rozd lit do n kolika men²ích celk. Tuto situaci m ºeme demonstrovat na p edchozím programu odd lením ekacího cyklu. Vytvo íme nový adresá a hlavní program uloºíme do souboru druhy.c: 10 Tento Makele je zjednodu²ená verze p íkladu, který je uveden na webových stránkách projektu avr-libc - demo project.html 7

8 #include <avr/io.h> #include "cekani.h" DDRA = (1 < < DDA1); loop: PORTA = (1 < < PORTA1); wait(); PORTA &= ~(1 < < PORTA1); wait(); goto loop; Vytvo íme hlavi kový soubor cekani.h a implementaci v n m deklarovaných funkcí cekani.c: /* cekani.h */ #ifndef _CEKANI_H #define _CEKANI_H void wait(void); #endif /* cekani.c */ #include "cekani.h" void wait(void) { volatile unsigned int a; Z p edchozího p íkazu zkopírujeme Makele a nahradíme první dva ádky takto: PRG OBJ = druhy = druhy.o cekani.o Poté spustíme make, program se p eloºí a výsledek si m ºeme prohlédnout v souboru druhy.lst 3.4 Projekt psaný v C i v assembleru V n kterých p ípadech narazíme na to, ºe kód vygenerovaný z jazyka C je p íli² pomalý. V p edchozích p íkladech se to projevilo v ekací funkci, která je bu pomalá kv li neustálému ukládání do pam ti a na ítání, nebo ji p eklada odstraní p i optimalizaci. Tuto funkci tedy napí²eme v assembleru. Vytvo íme nový adresá a z p edchozího p íkladu zkopírujeme Makele a druhy.c (p ejmenujeme na treti.c) Struktura hlavi kového souboru cekani.h je ur ena tím, ºe ho pouºívá jak p eklada assembleru, tak p eklada C - je tedy nutné rozli²it, která ást pat í komu. /* cekani.h */ #ifndef _CEKANI_H #define _CEKANI_H #ifdef ASSEMBLER #define waitl r24 #define waith r25 #else void wait (void); #endif #endif Pokud tento soubor pouºije p eklada assembleru, zapamatuje si makra, která pojmenovávají registry r24 a r25. Pokud ho pouºije p eklada jazyka C, najde deklaraci funkce wait(). Samotnou assemblerovskou implementaci ekací funkce uloºíme do souboru cekani.s 8

9 /* cekani.s */.nolist #include "cekani.h".list.global wait.func wait wait: eor waitl, waitl eor waith, waith ; vynulování ítacích registr wait_loop: adiw waitl, 1 or waitl, waith brne wait_loop ; pokud nejsou oba nulové, opakování cyklu ret Je vid t, ºe práce s pam tí odpadá a v²echno probíhá ist v registrech. Pouºitím této ekací funkce dosáhneme v t²í p esnosti neº s tou funkcí, kterou vygeneruje p eklada jazyka C. P izp sobíme nastavení Makele sou asné situaci: PRG = treti OBJ = treti.o cekani.o V tuto chvíli make program nep eloºí, neví totiº, jak p eloºit kód psaný v assembleru; na konec Makele proto p idáme následující instrukce 11 : ASFLAGS ALL_ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs = -mmcu=$(mcu_target) -I. -x assembler-with-cpp $(ASFLAGS) %.o : %.S $(CC) -c $(ALL_ASFLAGS) $< -o $@ 3.5 Zásady pro kombinování assembleru a C P i psaní funkcí v assembleru je nutné zachovávat n které konvence, s jejichº dodrºováním po ítá p eklada jazyka C Datové typy Pokud se funkci p edávají n jaké parametry, pop ípad se odebírá návratová hodnota, je nutné zachovat délku prom nných - char má 8 bit, int 16 bit, long 32 bit, long long 64 bit, oat a double jsou 32 bitové, ukazatele mají 16 bit Vyuºívání registr P eklada rozli²uje registry podle toho, jak se k nim chovají volané funkce, na: Nezachovávané p i volání funkce (call-used) (r18-r27, r30-r31) - funkce tyto registry m ºe voln pouºívat; pokud je program, který volá funkci, pouºívá, musí si jejich hodnoty odloºit jinam. Zachovávané p i volání funkce (call-saved) (r2-r17, r28-r29) - pokud chce funkce pouºít tyto registry, musí uloºit hodnoty v nich obsaºené a p ed návratem je zase obnovit. Pevné registry (r0, r1) - r0 je do asný registr, ve funkcích je moºné jeho hodnotu libovoln m nit (hodnotu zachovávají pouze obsluhy p eru²ení). r1 je nulový registr, p i vykonávání kódu v C vºdy obsahuje nulu. V assemblerovských funkcích je moºné ho pouºít i jinak, ale v takovém p ípad je nutné ho p ed návratem op t vynulovat Konvence pro p edávání parametr Parametry se p ednostn p edávají v registrových párech r25 aº r8 (parametry, které zabírají lichý po et byt, nad sebou mají vºdy jeden nevyuºitý registr). Pokud v registrech není pro v²echny parametry dostatek místa, zbylé se p edají p es zásobník. V následujícím p íkladu se parametr i p edá v registrech r24:r25 (v po adí niº²í byte - vy²²í byte) a parametr c v registru r22. void funkce (int i, unsigned char c) 11 P evzato z Makele projektu Avrt 9

10 Návratové hodnoty funkce se ukládají do registr od nejvy²²ího: int funkce (); /* vrací návratovou hodnotu v registrech r24:r25 */ long funkce2 (); /* vrací návratovou hodnotu v registrech r22:r25 */ 3.6 Kopírování programu do mikroprocesoru P eloºený program p eklada uloºí ve formátu ELF (Executable Linux Format), který ale není moºné nahrát do mikroprocesoru. Proto ho pot ebujeme nejprve zkonvertovat do souboru ve formátu Intel HEX. K tomu vyuºijeme utilitu avr-objdump, do Makele p idáme následující ádky: hex: $(PRG).hex %.hex: %.elf $(OBJCOPY) -j.text -j.data -O ihex $< $@ Soubor HEX potom vytvo íme zavoláním p íkazu make hex. Podobn m ºeme za ídit i nahrávání programu do mikroprocesoru - necháme make, aby zavolal program avrdude - do Makele p idáme: install: hex avrdude -c programátor -p kód_mcu -U flash:w:$(prg).hex:i Slovo programátor je pot eba nahradit jménem programátoru, který avrdude zná (nap. dapa, bsd), kód_mcu je kód, kterým avrdude identikuje procesor - nap íklad m16 pro Atmega Záv r Programování v t²ího projektu v assembleru je v podstat nemyslitelné - kód se velmi rychle stává nep ehledným, programování trvá dlouho a to výsledný program prodraºuje. Pouºít n jaký vy²²í jazyk je tedy nezbytnost. Dne²ní mikroprocesory mají navíc dostatek výpo etního výkonu, aby si mohly dovolit vykonat n které instrukce, které p eklada generuje navíc. Na druhou stranu je pot eba dávat pozor na to, co p eklada vygeneruje tam, kde záleºí na asování. V takových p ípadech bývá výhodn j²í p epsat kód do assembleru. Reference [1] Webové stránky projektu Avr-libc: 10

Skalární sou in. Úvod. Denice skalárního sou inu

Skalární sou in. Úvod. Denice skalárního sou inu Skalární sou in Jedním ze zp sob, jak m ºeme dva vektory kombinovat, je skalární sou in. Výsledkem skalárního sou inu dvou vektor, jak jiº název napovídá, je skalár. V tomto letáku se nau íte, jak vypo

Více

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody V praxi se asto setkávame s p ípady, kdy je pot eba e²it více rovnic, takzvaný systém rovnic, obvykle s více jak jednou neznámou.

Více

Vektor náhodných veli in - práce s více prom nnými

Vektor náhodných veli in - práce s více prom nnými Vektor náhodných veli in - práce s více prom nnými 12. kv tna 2015 N kdy k popisu n jaké situace pot ebujeme více neº jednu náhodnou veli inu. Nap. v k, hmotnost, vý²ku. Mezi t mito veli inami mohou být

Více

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++ C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka

Více

Limity funkcí v nevlastních bodech. Obsah

Limity funkcí v nevlastních bodech. Obsah Limity funkcí v nevlastních bodech V tomto letáku si vysv tlíme, co znamená, kdyº funkce mí í do nekone na, mínus nekone na nebo se blíºí ke konkrétnímu reálnému íslu, zatímco x jde do nekone na nebo mínus

Více

Integrování jako opak derivování

Integrování jako opak derivování Integrování jako opak derivování V tomto dokumentu budete seznámeni s derivováním b ºných funkcí a budete mít moºnost vyzkou²et mnoho zp sob derivace. Jedním z nich je proces derivování v opa ném po adí.

Více

Kompilace Makele C++ Zadání úlohy. Kompilace a Makele. OSD. O. Fi²er. April 18, O. Fi²er Kompilace, Makele

Kompilace Makele C++ Zadání úlohy. Kompilace a Makele. OSD. O. Fi²er. April 18, O. Fi²er Kompilace, Makele a. OSD O. Fi²er April 18, 2011 Obsah 1 2 3 4 Compiler - p eklada program, který vezme zdrojový text programu a p eloºí jej do jazyka stroje, coº jsou obvykle kódy instrukcí pro daný procesor. Výsledkem

Více

P íklad 1 (Náhodná veli ina)

P íklad 1 (Náhodná veli ina) P íklad 1 (Náhodná veli ina) Uvaºujeme experiment: házení mincí. Výsledkem pokusu je rub nebo líc, ºe padne hrana neuvaºujeme. Pokud hovo íme o náhodné veli in, musíme p epsat výsledky pokusu do mnoºiny

Více

Vektory. Vektorové veli iny

Vektory. Vektorové veli iny Vektor je veli ina, která má jak velikost tak i sm r. Ob tyto vlastnosti musí být uvedeny, aby byl vektor stanoven úpln. V této ásti je návod, jak vektory zapsat, jak je s ítat a od ítat a jak je pouºívat

Více

IPCorder KNR-100 Instala ní p íru ka

IPCorder KNR-100 Instala ní p íru ka IPCorder KNR-100 Instala ní p íru ka 12. srpna 2007 2 Obsah 1 Instalace 5 1.1 Obsah balení....................................... 5 1.2 Instalace pevného disku................................. 5 1.3 Zapojení

Více

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem. Nadpis kapitoly Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem. Klíčové pojmy: Překladač, editor, compiler, linker. Úvod Abychom mohly využívat našich napsaných programů, musíme

Více

Sazba zdrojových kód. Jakub Kadl ík 20. 03. 2014

Sazba zdrojových kód. Jakub Kadl ík 20. 03. 2014 Sazba zdrojových kód Jakub Kadl ík 20. 03. 2014 1 Obsah 1 Základní prost edí verbatim 3 2 Balí ek listings 3 3 Sazba kódu z externího souboru 5 4 Téma Solarized 5 4.1 Solarized light.............................

Více

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4 Pr b h funkce V této jednotce si ukáºeme jak postupovat p i vy²et ování pr b hu funkce. P edpokládáme znalost po ítání derivací a limit, které jsou dob e popsány v p edchozích letácích tohoto bloku. P

Více

Derivování sloºené funkce

Derivování sloºené funkce Derivování sloºené funkce V tomto letáku si p edstavíme speciální pravidlo pro derivování sloºené funkce (te funkci obsahující dal²í funkci). Po p e tení tohoto tetu byste m li být schopni: vysv tlit pojem

Více

T i hlavní v ty pravd podobnosti

T i hlavní v ty pravd podobnosti T i hlavní v ty pravd podobnosti 15. kv tna 2015 První p íklad P edstavme si, ºe máme atomy typu A, které se samovolným radioaktivním rozpadem rozpadají na atomy typu B. Pr m rná doba rozpadu je 3 hodiny.

Více

Modelování v elektrotechnice

Modelování v elektrotechnice Katedra teoretické elektrotechniky Elektrotechnická fakulta ZÁPADOƒESKÁ UNIVERZITA V PLZNI Modelování v elektrotechnice Pánek David, K s Pavel, Korous Luká², Karban Pavel 28. listopadu 2012 Obsah 1 Úvod

Více

SRF08 ultrazvukový dálkoměr

SRF08 ultrazvukový dálkoměr SRF08 ultrazvukový dálkoměr Technické údaje Ultrazvukový dálkoměr SRF08 komunikuje pomocí sběrnice I2C, která je dostupná na řadě oblíbených kontrolérů jako OOPic, Stamp BS2p, Atom či Picaxe. Z hlediska

Více

Nastavení vestav ného p evodníku Ethernet -> sériová linka ES01

Nastavení vestav ného p evodníku Ethernet -> sériová linka ES01 KMB systems, s. r. o. Dr. M. Horákové 559, 460 06 Liberec 7, Czech Republic tel. +420 485 130 314, fax +420 482 736 896 E-mail: kmb@kmb.cz, Web: www.kmb.cz Nastavení vestav ného p evodníku Ethernet ->

Více

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady Státní maturita 00 Maturitní generálka 00 Matematika: didaktický test - základní úrove obtíºnosti MAGZD0C0T0 e²ené p íklady Autor e²ení: Jitka Vachtová 6. b ezna 0 http://www.vachtova.cz/ Obsah Úloha Úloha.

Více

ízení Tvorba kritéria 2. prosince 2014

ízení Tvorba kritéria 2. prosince 2014 ízení. prosince 014 Spousta lidí má pocit, ºe by m la n co ídit. A n kdy to bývá pravda. Kdyº uº nás my²lenky na ízení napadají, m li bychom si poloºit následující t i otázky: ídit? Obrovskou zku²eností

Více

Mikroprocesor Intel 8051

Mikroprocesor Intel 8051 Mikroprocesor Intel 8051 Představení mikroprocesoru 8051 Mikroprocesor as jádrem 8051 patří do rodiny MSC51 a byl prvně vyvinut firmou Intel v roce 1980, což znamená, že zanedlouho oslaví své třicáté narozeniny.

Více

Rovnice a nerovnice. Posloupnosti.

Rovnice a nerovnice. Posloupnosti. .. Veronika Sobotíková katedra matematiky, FEL ƒvut v Praze, http://math.feld.cvut.cz/ 30. srpna 2018.. 1/75 (v reálném oboru) Rovnicí resp. nerovnicí v reálném oboru rozumíme zápis L(x) P(x), kde zna

Více

Jevy, nezávislost, Bayesova v ta

Jevy, nezávislost, Bayesova v ta Jevy, nezávislost, Bayesova v ta 17. b ezna 2015 Instrukce: Projd te si v²echny p íklady. Kaºdý p íklad se snaºte pochopit. Pak vymyslete a vy- e²te p íklad podobný. Tím se ujistíte, ºe p íkladu rozumíte.

Více

Sbírka úloh pro elektronickou stavebnici. Stručný popis programovacího jazyka Bascom AVR

Sbírka úloh pro elektronickou stavebnici. Stručný popis programovacího jazyka Bascom AVR Sbírka úloh pro elektronickou stavebnici Sbírka úloh obsahuje pracovní listy pro práci s moduly elektronické stavebnice, které vedou k samostatné práci. Ve sbírce jsou uvedeny pracovní listy, které postupnými

Více

DeepBurner (testování UI)

DeepBurner (testování UI) ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Semestrální práce DeepBurner (testování UI) Blaºej, Friebel, Olexová, Volf P edm t: Testování uºivatelských rozhraní Obor: Softwarové inºenýrství

Více

Binární operace. Úvod. Pomocný text

Binární operace. Úvod. Pomocný text Pomocný text Binární operace Úvod Milí e²itelé, binární operace je pom rn abstraktní téma, a tak bude ob as pot eba odprostit se od konkrétních p íklad a podívat se na v c s ur itým nadhledem. Nicmén e²ení

Více

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java 3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají

Více

Návod na obsluhu Pípáku verse V0.51 (PŘEDBĚŽNÝ NÁVOD).

Návod na obsluhu Pípáku verse V0.51 (PŘEDBĚŽNÝ NÁVOD). Návod na obsluhu Pípáku verse V0.51 (PŘEDBĚŽNÝ NÁVOD). Účel zařízení Pípák je elektronický měřící a řídící obvod se sériovým morse akustickým výstupem. Obsahuje mikročip PICAXE 08M2, čidlo pro měření teploty

Více

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2A, Lekce 3 Makra I 1 / 35

Více

Pr b h funkce I. Obsah. Maxima a minima funkce

Pr b h funkce I. Obsah. Maxima a minima funkce Pr b h funkce I Maxima a minima funkce V této jednotce ukáºeme jak derivování m ºe být uºite né pro hledání minimálních a maximálních hodnot funkce. Po p e tení tohoto letáku nebo shlédnutí instruktáºního

Více

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka INTERNETOVÝ TRH S POHLEDÁVKAMI Uživatelská příručka 1. března 2013 Obsah Registrace... 3 Registrace fyzické osoby... 3 Registrace právnické osoby... 6 Uživatelské role v systému... 8 Přihlášení do systému...

Více

Algoritmizace a programování

Algoritmizace a programování Pátek 14. října Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů.

Více

MATLB: p edná²ka 1. Prom nné, indexování a operátory. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

MATLB: p edná²ka 1. Prom nné, indexování a operátory. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií MATLB: p edná²ka 1 Prom nné, indexování a operátory Zbyn k Koldovský Projekt ESF CZ.1.07/2.2.00/28.0050 Modernizace

Více

Fyzikální praktikum 3

Fyzikální praktikum 3 Ústav fyzikální elekotroniky P írodov decká fakulta, Masarykova univerzita, Brno Fyzikální praktikum 3 Úloha 7. Opera ní zesilova Úvod Opera ní zesilova je elektronický obvod hojn vyuºívaný tém ve v²ech

Více

Prezentace. Ing. Petr V elák 6. b ezna 2009

Prezentace. Ing. Petr V elák 6. b ezna 2009 Prezentace Ing. Petr V elák 6. b ezna 2009 1 OBSAH OBSAH Obsah 1 Úvodní slovo 3 2 P íprava prezentace 4 2.1 Jak prezentace ned lat........................ 4 2.1.1 Kontrast písma a pozadí...................

Více

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web: Pravd podobnost a statistika - cvi ení Simona Domesová simona.domesova@vsb.cz místnost: RA310 (budova CPIT) web: http://homel.vsb.cz/~dom0015 Cíle p edm tu vyhodnocování dat pomocí statistických metod

Více

ALLEX FX Programovatelný logický automat. Katalogový list. říjen 2007. Programovatelné logické automaty

ALLEX FX Programovatelný logický automat. Katalogový list. říjen 2007. Programovatelné logické automaty ALLEX FX Programovatelný logický automat Katalogový list říjen 27 Programovatelné logické automaty Důležité poznámky Copyright 27 HYPEL. Všechna práva vyhrazena. ALLEX FX Programovatelný logický automat

Více

P EHLED FUNKCÍ BRICX. Jan Mare²

P EHLED FUNKCÍ BRICX. Jan Mare² P EHLED FUNKCÍ BRICX Jan Mare² Rok: 2012 Obsah 1 P ipravené programy 4 1.1 Bricx............................................. 4 1.2 CodeBlocx.......................................... 4 1.3 Dev c++..........................................

Více

Specifikace systému ESHOP

Specifikace systému ESHOP Nabídka: Specifikace systému ESHOP březen 2009 Obsah 1 Strana zákazníka 1 1.1 Nabídka produkt, strom kategorií..................... 1 1.2 Objednávka a ko²ík.............................. 1 1.3 Registrace

Více

ZÁPISKY Z ANALYTICKÉ GEOMETRIE 1 SOUŘADNICE, BODY

ZÁPISKY Z ANALYTICKÉ GEOMETRIE 1 SOUŘADNICE, BODY 1 Souřadnice, body 1.1 Prostor prostor můžeme chápat jako nějaké prostředí, ve kterém můžeme mít různé věci na různých místech místo, poloha - tohle potřebujeme nějak popsat abychom mohli změřit nebo říci,

Více

P íklady k prvnímu testu - Pravd podobnost

P íklady k prvnímu testu - Pravd podobnost P íklady k prvnímu testu - Pravd podobnost 28. února 204 Instrukce: Projd te si v²echny p íklady. Kaºdý p íklad se snaºte pochopit. Pak vymyslete a vy- e²te p íklad podobný. Tím se ujistíte, ºe p íkladu

Více

19 Jednočipové mikropočítače

19 Jednočipové mikropočítače 19 Jednočipové mikropočítače Brzy po vyzkoušení mikroprocesorů ve výpočetních aplikacích se ukázalo, že se jedná o součástku mnohem universálnější, která se uplatní nejen ve výpočetních, ale i v řídicích

Více

Základní praktikum laserové techniky

Základní praktikum laserové techniky Základní praktikum laserové techniky Fakulta jaderná a fyzikáln inºenýrská Úloha 4: Zna kování TEA CO 2 laserem a m ení jeho charakteristik Datum m ení: 1.4.2015 Skupina: G Zpracoval: David Roesel Kruh:

Více

Informace a návod k pouºití ablony pro BP student FZS v Plzni. Ing. Petr V elák 20. únor 2012

Informace a návod k pouºití ablony pro BP student FZS v Plzni. Ing. Petr V elák 20. únor 2012 Informace a návod k pouºití ablony pro BP student FZS v Plzni Ing. Petr V elák 20. únor 2012 1 OBSAH OBSAH Obsah 1 P edmluva 4 2 Formátování a úprava bakalá ské práce 5 2.1 Vzhled stran........................................

Více

Teorie her. Klasikace. Pomocný text

Teorie her. Klasikace. Pomocný text Pomocný text Teorie her Milí e²itelé, první ty i úlohy kaºdé série spojuje jisté téma a vám bude poskytnut text, který vás tímto tématem mírn provede a pom ºe vám p i e²ení t chto úloh. Teorie her, jiº

Více

Autodesk Inventor 8 vysunutí

Autodesk Inventor 8 vysunutí Nyní je náčrt posazen rohem do počátku souřadného systému. Autodesk Inventor 8 vysunutí Následující text popisuje vznik 3D modelu pomocí příkazu Vysunout. Vyjdeme z náčrtu na obrázku 1. Obrázek 1: Náčrt

Více

Státnice - Rekurzivní a rekurzivn spo etné mnoºiny

Státnice - Rekurzivní a rekurzivn spo etné mnoºiny Kapitola 1 Státnice - Rekurzivní a rekurzivn spo etné mnoºiny 1.1 Rekurzivn spo etné mnoºiny Denice (Rekurzivní a rekurzivn spo etná mnoºina) Charakteristická funkce mnoºiny M ozna uje charakteristickou

Více

Vzorové e²ení 4. série

Vzorové e²ení 4. série Vzorové e²ení 4. série Úloha 4.1 Kouma koupil Œoumovi k Vánoc m Rubikovu kostku. Strana kostky m í 10 cm. Kdyº mu ji v²ak cht l zabalit do váno ního papíru, zjistil, ºe má k dispozici pouze tvercový papír

Více

Kelvin v kapkový generátor

Kelvin v kapkový generátor Kelvin v kapkový generátor Kry²tof Kadlec 1, Luká² Kune² 2, Luká² N me ek 3 1 Gymnázium Franti²ka Palackého, Vala²ské Mezi í í, krystoof.2@seznam.cz 2 Gymnázium, Zlatá stezka 137, Prachatice, kunamars@seznam.cz

Více

Obsah. Pouºité zna ení 1

Obsah. Pouºité zna ení 1 Obsah Pouºité zna ení 1 1 Úvod 3 1.1 Opera ní výzkum a jeho disciplíny.......................... 3 1.2 Úlohy matematického programování......................... 3 1.3 Standardní maximaliza ní úloha lineárního

Více

IMTEE Přednáška č. 11

IMTEE Přednáška č. 11 AVR Libc pokračování interrupt.h práce s přerušením povolení / zakázání přerušení o makro sei() = instrukce sei o makro cli() = instrukce cli obslužné funkce vždy tvar ISR(JMENO_VEKTORU) // obslužný kod

Více

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Uložené procedury Úvod ulehčit správu zabezpečení rychleji Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen

Více

Manuál uživatele čipové karty s certifikátem

Manuál uživatele čipové karty s certifikátem Manuál uživatele čipové karty s certifikátem Obsah 1 Úvod... 3 2 Instalace čipové karty s certifikátem... 5 3 Instalace čtečky čipových karet... 10 3.1 Instalace z Windows Update... 10 3.2 Manuální instalace

Více

8. Struktura údaj na LCD displeji

8. Struktura údaj na LCD displeji Metody nabíjení NiCd a NiMH akumulátor 56 8. Struktura údaj na LCD displeji 8.1 Hlavní menu Hlavní menu je zobrazeno vždy po spušt ní nabíje e. Jsou zde prozatím dv volby a to Výb r profilu nabíjení a

Více

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE 1 KONZISTENCE DATABÁZE Jedním z velkých nebezpečí při provozu IS je porušení konzistence databáze. Konzistence databáze je vzájemný

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit

Více

C/C++ projekt v programu NetBeans

C/C++ projekt v programu NetBeans C/C++ projekt v programu NetBeans Tento manuál vznikl za pomocí sebraných lánk na internetu, zabývajících se problematikou nastavení programu NetBeans. Jako vzor poslouºila verze NetBeans 6.8, prakticky

Více

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Programování 1. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Vstupní znalosti Podmínky, cykly Funkce, Pole, třídění Retězce

Více

TRANSFORMACE. Verze 4.0

TRANSFORMACE. Verze 4.0 TRANSFORMACE Verze 4.0 Obsah: 1. Instalace 1.1. Požadavky programu 1.2. Ochrana programu 1.3. Instalace 2. Rastr 2.1 Rastrové referenční výkresy 2.1.1 Menu Nástroje 3. Transformace rastru 3.1 Otevřít 3.2

Více

BOZP - akcepta ní testy

BOZP - akcepta ní testy BOZP - akcepta ní testy Kristýna Streitová Zadavatel: Ing. Ji í Chludil 13. prosince 2011 Obsah 1 Úvod 2 1.1 Popis test....................................... 2 2 Testy 3 2.1 ID - 1 P ihlá²ení do systému.............................

Více

NÁVOD K OBSLUZE. Obj. č.: 64 61 50

NÁVOD K OBSLUZE. Obj. č.: 64 61 50 NÁVOD K OBSLUZE Obj. č. 64 61 50 Úvod Vážení zákazníci, děkujeme za Vaši důvěru a za nákup našeho malého bezdrátového pokojového a venkovního teploměru. Tento přístroj dokáže přijímat signály naměřené

Více

Provoz a poruchy topných kabelů

Provoz a poruchy topných kabelů Stránka 1 Provoz a poruchy topných kabelů Datum: 31.3.2008 Autor: Jiří Koreš Zdroj: Elektroinstalatér 1/2008 Článek nemá za úkol unavovat teoretickými úvahami a předpisy, ale nabízí pohled na topné kabely

Více

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda();

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda(); Prostory jmen. Prostor jmen je oblast platnosti identifikátorů. Představme si situaci, kdy budeme chtít mít v jednom programu stejné identifikátory (názvy tříd, proměnných, metod, funkcí atd...). Nelze

Více

W H I R L P O O L M Y Č K Y N Á D O B Í

W H I R L P O O L M Y Č K Y N Á D O B Í W H I R L P O O L M Y Č K Y N Á D O B Í MYČKY NÁDOBÍ MYČKY OBLÍBENÉ EVROPANY! Myčky Whirlpool stále vítězí v evropských nezávislých testech, 33x byly NEJLEPŠÍ.* Funkce myček nádobí *Celkový počet ocenění

Více

Uºivatelská p íru ka k programu SlaFoR verze 1.0

Uºivatelská p íru ka k programu SlaFoR verze 1.0 1 Uºivatelská p íru ka k programu SlaFoR verze 1.0 Toto je manuál k programu SlaFoR 1.0 (Slab Forces & Reinforcement), který byl vytvo en v rámci bakalá ské práce na kated e betonových a zd ných konstrukcí

Více

Digitální tlakoměr PM 111

Digitální tlakoměr PM 111 Digitální tlakoměr PM 111 Tlakoměr PM 111 Průmyslové tlakoměry PM 111 jsou určeny k měření, digitálnímu zobrazení okamžité hodnoty tlaku měřeného média a případně i na jeho regulaci. Použití a princip

Více

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost (8 bod ) Náhodná veli ina X je po et rub p i nezávislých hodech mincí a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost P ( X EX < ) (9 bod ) b) Formulujte centrální limitní v tu a pomocí ní vypo

Více

Základní stavební prvky algoritmu

Základní stavební prvky algoritmu Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká

Více

Modul řízení otáček stejnosměrného motorku

Modul řízení otáček stejnosměrného motorku Modul řízení otáček stejnosměrného motorku Výukový modul pro předmět mikropočítače Popis modulu úvod Jedná se o rozšiřující modul pro kit GB60. Modul obsahuje stejnosměrný motorek osazený zařízením pro

Více

21. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

21. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení) 21. Číslicový měřicí systém se sběrnicí IEEE 488 1/5 21. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení) Úkol měření : 1. Seznamte se s propojením přístrojů při měření předloženého převodníku

Více

Transak ní zpracování I

Transak ní zpracování I Transak ní zpracování I Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS

Více

Team Engineering. New in V13. TIA Portal news. Restricted / Siemens AG 2014. All Rights Reserved.

Team Engineering. New in V13. TIA Portal news. Restricted / Siemens AG 2014. All Rights Reserved. Team TIA Portal news siemens.com/s7-1500 Teamengineering jak pracovat v týmu PLC proxy pro práce v týmu pro a PLC inženýry lze uplatnit také v prost edí Classic Kopie a slou ení projekt vzájemné sdílení

Více

PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS

PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2, Lekce

Více

Objektov orientované programování. C++ Akademie SH. 7. Objektov orientované programování. Michal Kvasni ka. Za áte níci C++ 2.

Objektov orientované programování. C++ Akademie SH. 7. Objektov orientované programování. Michal Kvasni ka. Za áte níci C++ 2. C++ Akademie SH Za áte níci C++ 2. kv tna 2011 Obsah 1 Objektov orientované programování Obsah Objektov orientované programování 1 Objektov orientované programování P et ºování Jev, díky kterému m ºeme

Více

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika: Programovatelný výpočtový měřič fyzikálních veličin Stručná charakteristika: je určen pro měření libovolné fyzikální veličiny, která je reprezentována napětím nebo ji lze na napětí převést. Zpětný převod

Více

Zadání. Založení projektu

Zadání. Založení projektu Zadání Cílem tohoto příkladu je navrhnout symetrický dřevěný střešní vazník délky 13 m, sklon střechy 25. Materiálem je dřevo třídy C24, fošny tloušťky 40 mm. Zatížení krytinou a podhledem 0,2 kn/m, druhá

Více

Tutoriál Volné plošné zatížení

Tutoriál Volné plošné zatížení Tutoriál Volné plošné zatížení r.matela@scia.cz 1 r.matela@scia.cz 2 Scia engineer Tutorial Obsah Volné zatížení platnost a výběr... 4 Platnost... 4 Výběr... 14 Lichoběžníkové zatížení na stěnu:... 15

Více

WordBase Postup pro zpracování dokumentů

WordBase Postup pro zpracování dokumentů WordBase Postup pro zpracování dokumentů 1. Příprava textového dokumentu v ABBYY FineReaderu... 3 1.1 Spuštění ABBYY FineReaderu... 3 1.2 Vytvoření nové dávky dokumentů... 3 1.3 Nastavení parametrů rozpoznávání...

Více

1.2.5 Reálná čísla I. Předpoklady: 010204

1.2.5 Reálná čísla I. Předpoklady: 010204 .2.5 Reálná čísla I Předpoklady: 00204 Značíme R. Reálná čísla jsou čísla, kterými se vyjadřují délky úseček, čísla jim opačná a 0. Každé reálné číslo je na číselné ose znázorněno právě jedním bodem. Každý

Více

10 je 0,1; nebo taky, že 256

10 je 0,1; nebo taky, že 256 LIMITY POSLOUPNOSTÍ N Á V O D Á V O D : - - Co to je Posloupnost je parta očíslovaných čísel. Trabl je v tom, že aby to byla posloupnost, musí těch čísel být nekonečně mnoho. Očíslovaná čísla, to zavání

Více

IP kamerový systém Catr - uºivatelský návod k obsluze

IP kamerový systém Catr - uºivatelský návod k obsluze IP kamerový systém Catr - uºivatelský návod k obsluze Obsah P ipoj se k nám! Úvod 3 P ístup do systému 3 Po íta s Windows 3 Prvotní instalace 3 Ovládání kamerového systému na po íta i 5 šivý náhled...................................................

Více

Nová "dimenze"! První univerzální stmívač pro všechny stmívatelné zdroje

Nová dimenze! První univerzální stmívač pro všechny stmívatelné zdroje Nová "dimenze"! První univerzální stmívač pro všechny stmívatelné zdroje Nová "dimenze"! První univerzální stmívač pro všechny stmívatelné zdroje Na základě legislativních změn EU, je v současné době ukončována

Více

Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, Organizace cvi ení 2 Matlab Za ínáme Základní operace Základní funkce

Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, Organizace cvi ení 2 Matlab Za ínáme Základní operace Základní funkce Modelování systém a proces Mgr. Lucie Kárná, PhD karna@fd.cvut.cz March 2, 2018 1 Organizace cvi ení 2 Za ínáme Základní funkce 3 Princip práce v u Jednoduché modely v u Souhrn Organizace cvi ení webová

Více

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018. 3. Reálná čísla

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018. 3. Reálná čísla Moderní technologie ve studiu aplikované fyziky CZ..07/..00/07.008 3. Reálná čísla RACIONÁLNÍ A IRACIONÁLNÍ ČÍSLA Význačnými množinami jsou číselné množiny. K nejvýznamnějším patří množina reálných čísel,

Více

Seriál: Management projektů 7. rámcového programu

Seriál: Management projektů 7. rámcového programu Seriál: Management projektů 7. rámcového programu Část 4 Podpis Konsorciální smlouvy V předchozím čísle seriálu o Managementu projektů 7. rámcového programu pro výzkum, vývoj a demonstrace (7.RP) byl popsán

Více

Cvi ení 1. Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, 2018

Cvi ení 1. Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, 2018 Cvi ení 1 Modelování systém a proces Mgr. Lucie Kárná, PhD karna@fd.cvut.cz March 2, 2018 1 Organizace cvi ení 2 Za ínáme Základní operace Základní funkce 3 Simulink Princip práce v Simulinku Jednoduché

Více

Zkouška z předmětu Počítačové systémy

Zkouška z předmětu Počítačové systémy Zkouška z předmětu Počítačové systémy Jméno a příjmení: Datum zkoušky: Celkový počet bodů: Výsledná známka: Poznámka: Pokud není uvedeno jinak, uvažujte v následujících příkladech procesor Z80. Odpovědi

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE

WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE Úvodem WD je mobilní verze klasického WEBDISPEČINKU, která je určena pro chytré telefony a tablety. Je k dispozici pro platformy ios a Android,

Více

SNÍMAČ T2114. Programovatelný snímač barometrického tlaku s výstupem 4-20 ma. Návod k použití

SNÍMAČ T2114. Programovatelný snímač barometrického tlaku s výstupem 4-20 ma. Návod k použití SNÍMAČ T2114 Programovatelný snímač barometrického tlaku s výstupem 4-20 ma Návod k použití Návod na použití snímače T2114 Snímač je určen pro měření barometrického tlaku vzduchu bez příměsí agresivních

Více

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7 Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7 1. Úvod nezbytné kroky ne se p ipojíte 2. Jak si vytvo it heslo 3. Nastavení VPN p ipojení pro Windows 7 1. Úvod Slu ba VPN umo uje vstoupit

Více

e²ení 1. série Úvodní gulá² autor: Kolektiv org

e²ení 1. série Úvodní gulá² autor: Kolektiv org e²ení 1. série Úvodní gulá² autor: Kolektiv org Úloha 1.1. Bubla, Lib nka, Henry a Mat j hráli hru. Protoºe byli ty i, napsali si na tabuli ty i ty ky a jejich úkolem pak bylo vepsat mezi n t i znaménka

Více

( x ) 2 ( ) 2.5.4 Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502

( x ) 2 ( ) 2.5.4 Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502 .5. Další úlohy s kvadratickými funkcemi Předpoklady: 50, 50 Pedagogická poznámka: Tato hodina patří mezi ty méně organizované. Společně řešíme příklad, při dalším počítání se třída rozpadá. Já řeším příklady

Více

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS Název projektu: Redesign Statistického informačního systému v návaznosti na zavádění egovernmentu v ČR Příjemce: Česká republika Český statistický úřad Registrační číslo projektu: CZ.1.06/1.1.00/07.06396

Více

4. Připoutejte se, začínáme!

4. Připoutejte se, začínáme! 4. Připoutejte se, začínáme! Pojďme si nyní zrekapitulovat základní principy spreadů, které jsme si vysvětlili v předcházejících kapitolách. Řekli jsme si, že klasický spreadový obchod se skládá ze dvou

Více

Jméno: P íjmení: Datum: 17. ledna 2018 Nechci zápo et p i hodnocení niº²ím neº (nezávazné): vadí mi vystavení mého hodnocení na internetu.

Jméno: P íjmení: Datum: 17. ledna 2018 Nechci zápo et p i hodnocení niº²ím neº (nezávazné): vadí mi vystavení mého hodnocení na internetu. Jméno: P íjmení: Datum: 7. ledna 28 Nechci zápo et p i hodnocení niº²ím neº (nezávazné): vadí mi vystavení mého hodnocení na internetu. Rotující nádoba Otev ená válcová nádoba napln ná do poloviny vý²ky

Více

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2A, Lekce 5 Makra III 1

Více

Quido USB 0/1 230. Spínač síťového napětí 230 V ovládaný z PC přes USB rozhraní. 28. února 2011 w w w. p a p o u c h. c o m

Quido USB 0/1 230. Spínač síťového napětí 230 V ovládaný z PC přes USB rozhraní. 28. února 2011 w w w. p a p o u c h. c o m Quido USB 0/1 230 Spínač síťového napětí 230 V ovládaný z PC přes USB rozhraní 28. února 2011 w w w. p a p o u c h. c o m Quido USB 0/1 230 Q uido USB 0/1 230 Katalogový list Vytvořen: 9.12.2010 Poslední

Více

IPCorder Uºivatelský manuál

IPCorder Uºivatelský manuál IPCorder Uºivatelský manuál 12. srpna 2007 2 Obsah 1 Úvod 5 1.1 Popis systému....................................... 5 1.2 Systémové poºadavky.................................. 6 2 Kongurace 7 2.1 Nastavení

Více