Programování mikroprocesor AVR v jazyce C. Ji í Bourek 16. kv tna 2007
|
|
- Marcela Pospíšilová
- před 8 lety
- Počet zobrazení:
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 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ícee²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íceVektor 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íceC++ 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íceLimity 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íceIntegrová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íceKompilace 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íceP í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íceVektory. 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íceIPCorder 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íceCí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íceSazba 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íce2. 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íceDerivová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íceT 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íceModelová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íceSRF08 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íceNastavení 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íceStá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í. 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íceMikroprocesor 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íceRovnice 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íceJevy, 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íceSbí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íceDeepBurner (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íceBiná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íce3 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íceNá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ícePARADIGMATA 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ícePr 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íceINTERNETOVÝ 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íceAlgoritmizace 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íceMATLB: 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íceFyziká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ícePrezentace. 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ícePravd 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íceALLEX 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íceP 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íceSpecifikace 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íceZÁ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íceP í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íce19 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íceZá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íceInformace 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íceTeorie 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íceAutodesk 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íceStá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íceVzorové 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íceKelvin 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íceObsah. 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íceIMTEE 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íceUlož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íceManuá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íce8. 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íceDatabá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íceAlgoritmizace 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íceC/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íceProgramová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íceTRANSFORMACE. 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íceBOZP - 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íceNÁ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íceProvoz 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íceProstory 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íceW 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íceUº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íceDigitá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íce1. (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íceZá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íceModul ří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íce21. Čí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íceTransak 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íceTeam 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ícePARADIGMATA 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íceObjektov 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íceMikromarz. 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íceZadá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íceTutoriá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íceWordBase 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íce1.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íce10 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íceIP 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íceNová "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íceCvi 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íceModerní 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íceSeriá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íceCvi 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íceZkouš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íceVÝ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íceWEBDISPEČ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íceSNÍ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íceNá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ícee²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
.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ícePří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íce4. 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íceJmé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ícePARADIGMATA 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íceQuido 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íceIPCorder 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