1. Úvod, návrhový systém MPLAB, úvod do programování v C
|
|
- Vlasta Machová
- před 8 lety
- Počet zobrazení:
Transkript
1 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 1. Úvod, návrhový systém MPLAB, úvod do programování v C Literatura MPLAB Starter Kit for PIC24F User s Guide, Technická dokumentace, Microchip Technology Incorporated, ( MPLAB IDE User s Guide with MPLAB Editor and MPLAB SIM Simulator. Technická dokumentace, Microchip Technology Incorporated, ( MPLAB C30 C COMPILER USER S GUIDE. Technická dokumentace Microchip Technology Incorporated, ( PIC24FJ256GB110 Family Data Sheet. Technická dokumentace Microchip Technology Incorporated ( Programové vybavení předmětu Obsah 1. Úvod, návrhový systém MPLAB, úvod do programování v C Literatura Programové vybavení předmětu Hardwarový přípravek Mikrokontrolér PIC24FJ256GB106 Vytvoření projektu v návrhovém systému MPLAB Spuštění programu v simulátoru Spuštení programu v přípravku Ladění programu v přípravku Programování v jazyce C Jednoduché datové typy (MPLAB C30) Přiřazení a aritmetické výrazy Přetypování jednoduchých datových typů Bitové operace Přiřazení z/do speciálního funkčního registru Struktury (struct) Obsluha přerušení MPLAB IDE download (úplně dole na stránce MPLAB IDE v8.63) MPLAB C30 Compiler download (úplně dole na stránce MPLAB C Compiler for PIC24 and dspic v3.25 in LITE mode) Hardwarový přípravek
2 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 MPLAB Starter Kit for PIC24F MPLAB Starter Kit for PIC24F - Uživatelská příručka Aplikační část přípravku (vpravo od bílé dělící čáry) obsahuje mikrokontrolér PIC24F256GB106 (1), ke kterému je připojen displej (3), kapacitní dotyková klávesnice (7), tříbarevná RGB LED dioda (11), potenciometr (6), USB konektor typ A: host, On-The-Go (4) a USB konektor B - device (5). Mikrokontrolér (1) je programován programátorem, který se nachází vlevo od bílé dělící čáry. Programátor obsahuje mikrokontrolér (8) s USB rozhraním a s počítačem komunikuje přes konektor (2). Mikrokotrolér (1) běží na hodinovém kmitočtu 12MHz, který získává z programátoru přes externí hodninový vstup. Krystal 32768Hz (10) je určen pro realizaci hodin reálného času a je napojen na mikrokontrolér (1). Připojení přípravku k počítači Mini konektor USB kabelu připojte do konektoru (2) a druhý konec s USB konektorem A zasuňte do PC. Tím je přípravek připraven k použití. Přípravek je napájen přes USB kabel, nepotřebuje proto žádné externí napájení. Mikrokontrolér PIC24FJ256GB106 PIC24FJ256GB106 Datasheet (*.pdf) Vytvoření projektu v návrhovém systému MPLAB Stiskněte Hlavní menu Project Project Wizard Další. Na panelu vybrat označení mikrokontroléru PIC24F256GB106. Stiskněte Další. Ve výběru Active Toolsuite vybrat Microchip C30 Toolsuite. Zkontrolovat položky v Toolsuite Contents. Pokud jsou na levé straně červené křížky, nemáte nainstalován balíček překladače C30. Stiskněte Další. V položce Create New Project File vyplňte cestu a jméno projektového souboru. Doporučuji si předem vytvořit projektový adresář a do něho uložit projektový soubor. Stiskněte Další. Na formuláři Step four nic nevyplňujte, stiskněte tlačítko Další a na dalším formuláři stiskněte
3 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 Dokončit Nyní vytvořte nový zdrojový soubor Hlavní menu New a uložte jej funkcí File Save a nezapomeňte vyplnit cestu do projektového adresáře a jméno souboru s příponou *.c. Zařaďte zdrojový soubor do projektu kliknutím pravým tlačítkem myši na Source Files v projektovém okně a výběrem položky Add Files v pop-up menu. Zařaďte linker script do projektu. Klikněte pravým tlačítkem myši na Linker Script v projektovém okně a výběrem položky Add Files v pop-up menu. Linker script pro PIC24FJ256GB106 najdete v adresáři c:\program Files\Microchip\mplabc30\v3.25\support \PIC24F\gld\p24FJ256GB106.gld. Program přeložte Hlavní menu Project Build All. Spuštění programu v simulátoru HlavníMenu Debugger Select Tool MPLAB SIM HlavníMenu Debugger a dále užívejte ladící funkce Spuštení programu v přípravku HlavníMenu Programmer Select Tool Starter kits HlavníMenu Programmer Program Ladění programu v přípravku HlavníMenu Programmer Select Tool Starter Kits HlavníMenu Debugger a dále užívejte ladící funkce Programování v jazyce C Compiler C30 tools (GCC) Manual c30userguide.pdf Jednoduché datové typy (MPLAB C30) datový typ unsigned char počet bitů typ znaménko rozsah 8 I ne 0/255 (0x00/0xFF) char 8 I ano -128/127 (0x80/0x7F) poznámka unsigned int 16 I ne 0/65535 (0x0000/0xFFFF)! na x86 32 bitů int 16 I ano /32767 (0x8000/0x7FFF) unsigned short 16 I ne 0/65535 (0x0000/0xFFFF) short 16 I ano /32767 (0x8000/0x7FFF)! na x86 32 bitů
4 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 unsigned long 32 I ne 0x /0xFFFFFFFF long 32 I ano 0x /0x7FFFFFFF float 32 FP ano double 32 FP ano! na x86 64 bitů void* 16! na x86 32 bitů obecně jakýkoliv ukazatel Při portování existujících programů (např. algoritmů pro kryptografii) z PC je třeba dát pozor na kratší int. Přiřazení a aritmetické výrazy int main() { int a,b,c; a = 1; b = 2; c = a + b; } return 0; Přetypování jednoduchých datových typů INT char c = 0x80; int a; a = c; // v a bude 0xFF80 (znaménkové rozšíření) // Protože char je datový typ se znaménkem, dojde při konverzi do širšíh // typu se znaménkem k znaménkovému rozšíření. Proto bude v a hodnota 0x unsigned char c = 0x80; int a; a = c; // v a bude 0x0080, unsigned char je datový typ bez znaménka (hodnota v // proto horní bity zůstávají nulové. char c = 0x80; unsigned int a; a = c; // v a bude 0xFF80, nejprve dojde ke znaménkovému rozšíření na defaultní // do proměnné unsigned int. FLOAT (DOUBLE) float c = 1.8; int a = c; // desetinná část datového typu float se ořízne, v a je tedy 1 (nez float c = 1.8; int a = c + 0.5; // převod na int se zaokrouhlením Bitové operace
5 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 // ~ - bitová negace // - bitový or // & - bitový and // ^ - birový xor // = - bitový or (read-modify-write) a = 5; je totéž co a = a 5; // &= - bitový and (read-modify-write) a &= 5; je totéž co a = a & 5; // ^= - bitový xor (read-modify-write) a ^= 5; je totéž co a = a ^ 5; unsigned int a = 0xFF00; a = 0x0001; nastavení bitu 0 na jedničku v a a &= ~0x0100; nastavení bitu 8 na nulu v a a ^= 0x0001; negace bitu 0 v a Pozor!!! není totéž co, & není totéž co &&. Např. 5 & 8 je 0x00, kdežto 5 && 8 je 0x01 (5 a 8 jsou považovány za true, proto je výsledek true, tj. 1) Přiřazení z/do speciálního funkčního registru #include <p24fxxxx.h> int main() { TRISB = 0x000F; // hexadecimální hodnota LATB = 0b ; // binární hodnota LATC = 128; // dekadicky unsigned int b = PORTB; unsigned short c = PORTC; } return 0; TRISB, LATB, LATC, PORTB a PORTC jsou názvy speciálních funkčních registrů. Tyto registry jsou deklarovány v p24fxxxx.h a navazujících hlavičkových souborech. p24fxxxx.h je univerzální hlavičkový soubor pro všechny typy mikrokontrolérů řady PIC24F. Výběr konkrétního typu se provádí automaticky na základě mikropočítače uvedeného v projektu. Tím je zajištěna určitá portabilita zdrojového kódu. Struktury (struct) Zde se seznámíme s problémem, se kterým se můžete setkat i na systémech x86 a který vede na poměrně zákeřné chyby v programu. Tento problém se vyskytuje u všech architektur vyšších než osmibitových a pramení z nestejné efektivity přístupu do paměti a snahy překladačů generovat co nejoptimálnější kód. U 32 bitových procesorů x86 je možné provést jakékoliv čtení nebo zápis v délce 1, 2 nebo 4 byty, a to na jakékoliv adrese. Ale ne všechny se provedou stejně efektivně. Například 32 bitové čtení z adresy 1 bude rozloženo do dvou čtecích cyklů, protože paměť je organizovaná po 32 bitech a z adresy 0 se jedním čtením přečtou data z adres 1,2,3 a z adresy 4 se přečte nejnižší byte. Podobně bude vypadat 32 bitové čtení z adres 2 a 3 a šestnáctibitové čtení z adresy 3. U PIC24F, který má šestnáctibitovou architekturu, budou činit potíže 16 bitová čtení z lichých adres. Na rozdíl od x86, PIC24F v rámci jednoduchosti hardwaru taková čtení přímo zakazuje a pokus o takovéto čtení končí výjimkou. Proto tam, kde se nelze takovému čtení vyhnout, musí překladač generovat bytové instrukce i pro 16 bitové zápisové a čtecí operace. Mějme následující strukturu v programu pro PIC24F struct { char a; int b;
6 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 char c; } s; Logicky předpokládáme, že když proměnná s bude ležet na adrese řekněme 0x100, pak a bude na adrese 0x100, b bude na adrese 0x101 a c bude na adrese 0x103 a sizeof(s) bude vracet hodnotu 4. Schválně si to vyzkoušejte a uvidíte, že tomu tak není. a bude ležet na 0x100, b bude na adrese 0x102 a c bude na 0x104 a sizeof(s) bude vracet hodnotu 6. Byty na adresách 0x101 a 0x105 nebudou přístupné a nebudou tedy využity. Pak proměnnou b bude možno číst a zapisovat šestnáctibitovou operací, protože leží na sudé adrese 0x102. Pokud struktury používáte v rámci programu, pak nevznikne žádný problém a vše bude fungovat dobře. Problém nastane v okamžiku, kdy nějaká data načtete z vnějšku (například po sériové lince, síti, z SD karty, USB apod.) do pole a pak pole přetypujete na strukturu. Příklad Předpokládejme, že po sériové lince přijdou data, která budou mít hlavičku ve formátu 1. byte adresát, 2. a 3. byte délka, 4. byte příkaz. V programu budeme chtít zjistit, zda zpráva patří nám (porovnáme pole adresát). Pokud ano, vykonáme příkaz a parametry příkazu budou následovat za hlavičkou v délce, kterou udávají byty 2(LSB) a 3(MSB). Pro hlavičku si vytvoříme následující strukturu: typedef struct { unsigned char adresat; // 1B unsigned int delka; // 2B unsigned char prikaz; // 1B } hlavicka_t; Pak napíšeme následující program... // deklarujeme buffer o délce 255 bytů #define BUF_SIZE 255 unsigned char buffer[buf_size]; // zavoláme funkci pro přečtení dat ze sériové linky, která // naplní buffer daty a vrátí délku prectenych dat int len = serial_read(buffer, BUF_SIZE); // Nyní přetypujeme buffer na ukazatel na hlavicku hlavicka_t* hlavicka = (hlavicka_t*)buffer; // Ted můme vyčíst jednotlivé položky unsigned char a = hlavicka->adresat; unsigned int l = hlavicka->delka; unsigned char p = hlavicka->prikaz;... Z pohledu jazyka C je to korektní program a při jeho prohlížení neshledáme žádnou chybu. Přesto pro následující hodnoty v poli buffer: 0x01, 0x02, 0x00, 0x0F, 0xAA, 0x55 (adresát 1, délka 2, příkaz 15 (0x0F)) přečteme do proměnných a = 0x01 (OK), l = 0x0F00 (Chyba), p = 0xAA (Chyba). Řešení tohoto problému Musíme použít atribut packed. Atributy můžeme chápat jako jistá upřesňující doporučení pro překladač, aby překládal určitým nestandardním způsobem. S tímto atributem bude deklarace hlavičky vypadat takto:
7 BI-VES Cvičení 1 - Úvod, Miroslav Skrbek (C)2010, z 7 typedef struct attribute ((packed)) { unsigned char adresat; // 1B unsigned int delka; // 2B unsigned char prikaz; // 1B } hlavicka_t; Atribut packed můžeme také aplikovat na jednotlivé položky, alternativní deklarace vypadá takto: typedef struct { unsigned char adresat; // 1B unsigned int delka attribute ((packed)); unsigned char prikaz; // 1B } hlavicka_t; // 2B Obsluha přerušení PIC24 obsahuje tabulku vektorů přerušení, kam se ukládají adresy podprogramů (funkcí v C), které jednotlivá přerušení obsluhují. Implicitně linker tabulku vyplní tak, že vektory přerušení směřují na implicitní obslužný podprogram, který provede reset mikropočítače. Pokud chceme nainstalovat pro některé přerušení vlastní obslužný podprogram (funkci v C), pak musíme následovat tato pravidla: funkce má přesně dané jméno, které koresponduje s typem přerušení, např. _T1Interrupt. Seznam dostupných jmen nalezneme v c30userguide.pdf tabulka 7-1, návratový typ funkce je void a parametry jsou také void, deklarace funkce musí obsahovat atributy interrupt a auto_psv. void attribute ((interrupt, auto_psv)) _T1Interrupt(void) { } Atribut interrupt zajistí transparentnost funkce, tj. všechny registry modifikované funkcí obsluhy přerušení, případně funkcemi z ní volané. Na kód uvnitř funkce nejsou kladena z pohledu jazyka žádná omezení. Platí zásada, že program obsluhy přerušení musí být mikrokontrolérem vykonán v kratším čase než je perioda vzniku žádostí o toto přerušení. Proto v obsluze nepoužívejte složité funkce, jako je například zobrazování na displeji, kód obsahující dlouhá čekání např. prodleva několik milisekund, čekání na stisk klávesy, apod.
1. Úvod do předmětu, seznámení s vývojovými prostředky
BI-MPP Cvičení 1 - Úvod, Miroslav Skrbek (C)2010,2011 1 z 8 1. Úvod do předmětu, seznámení s vývojovými prostředky Náplň cvičení Toto je úvodní cvičení předmětu. Zde budete seznámeni s podmínkami předmětu
VíceČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1.
VíceOpakování programování
Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Vícefor (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
VíceZákladní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí
02 Jazyk C - je imperativní říkáme, co se má udělat, voláme příkazy - další imperativní jazyky: Pascal, Java, C/C++ apod. - na rozdíl od jazyků deklarativních např. Prolog, Haskell, Scheme, Lisp (funkcionální
VíceProgramování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 2.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 07 Ver.1.10 J. Zděnek,
VíceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
VícePrvní kroky s METEL IEC IDE
První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky
VíceJak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
VíceNávod na práci s přípravkem a programy uscope a FLIP na cvičeních
Návod na práci s přípravkem a programy uscope a FLIP na cvičeních Ing. Tomáš Martinec Ph.D. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl
VíceÚvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
VíceMetody připojování periferií
Metody připojování periferií BI-MPP Přednáška 7 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011
VíceAlgoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
VíceNávod na práci s přípravkem a programem uscope na cvičeních
Návod na práci s přípravkem a programem uscope na cvičeních Ing. Tomáš Martinec Ph.D. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci
VíceOdvozené a strukturované typy dat
Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu
VíceProgramátor AVRProg USB v3 MK II Eco Manuál
Programátor AVRProg USB v3 MK II Eco Manuál Pozor! Programátor je kompatibilní s prostředími BASCOM a AVR DUDE. Pokud chcete použít tento programátor s AVR Studio, musíte přepnout jumper číslo 2. 1. Programování
Více5. Čtení/zápis sektorů z/do USB paměťového média I
BI-MPP Cvičení 5,6 - USB Mass Storage, Miroslav Skrbek (C)2010,2011 1 z 5 5. Čtení/zápis sektorů z/do USB paměťového média I Náplň cvičení V tomto cvičení se naučíte číst/zapisovat data z/na datovou USB
VíceVestavné systémy. BI-VES Přednáška 9. Ing. Miroslav Skrbek, Ph.D.
Vestavné systémy BI-VES Přednáška 9 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011 ZS2010/11 Evropský
VíceProgramování PICAXE18M2 v Assembleru
Nastavení programming editoru PICAXE PROGRAMMING EDITOR 6 Programování PICAXE18M2 v Assembleru Nastavit PICAXE Type PICAXE 18M2(WJEC-ASSEMBLER, stejně tak nastavit Simulation Pokud tam není, otevřeme přes
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceOperační systémy. Cvičení 3: Programování v C pod Unixem
Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené
VícePicoBlaze lekce 1: assembler, C překladač a simulační prostředí Jiří Svozil, Leoš Kafka, Jiří Kadlec svozil@utia.cas.cz
Technická zpráva PicoBlaze lekce 1: assembler, C překladač a simulační prostředí Jiří Svozil, Leoš Kafka, Jiří Kadlec svozil@utia.cas.cz Obsah 1. Úvod... 2 2. Xilinx PicoBlaze... 2 2.1 Architektura procesoru...
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceÚvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VíceMartin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016
ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce
VíceOperátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
VíceLogické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Více- jak udělat konstantu long int: L long velka = 78L;
Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L
Více2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby
VícePVKpro vývojový kit s programátorem pro mikrokontrolér PIC16F84 Připojení k PC: paralelní port Uživatelská příručka
PVKpro vývojový kit s programátorem pro mikrokontrolér PIC16F84 Připojení k PC: paralelní port Uživatelská příručka ASIX s.r.o., Staropramenná 4, 150 00 Praha 5 - Smíchov, Tel.: 257 312 378, fax: 257 329
Více5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
VíceAhoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
Více8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy
VíceSprávné vytvoření a otevření textového souboru pro čtení a zápis představuje
f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru
VíceČíslicový zobrazovač CZ 5.7
Určení - Číslicový zobrazovač CZ 5.7 pro zobrazování libovolné veličiny, kterou lze převést na elektrický signál, přednostně 4 až 20 ma. Zobrazovaná veličina může být až čtyřmístná, s libovolnou polohou
VícePŘÍLOHY. PRESTO USB programátor
PŘÍLOHY PRESTO USB programátor 1. Příručka PRESTO USB programátor Popis indikátorů a ovládacích prvků Zelená LED (ON-LINE) - PRESTO úspěšně komunikuje s PC Žlutá LED (ACTIVE) - právě se komunikuje s uživatelskou
VíceStruktura a architektura počítačů (BI-SAP) 7
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 7 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Více9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>
9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte
VíceUkazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný
Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s
VíceMPASM a IDE pro vývoj aplikací MCU (Microchip)
MPASM a IDE pro vývoj aplikací MCU (Microchip) MPLAB, vývojové prostředí a jeho instalace; Založení nového projektu a jeho základní nastavení; Zásady tvorby a základní úprava formuláře zdrojového kódu;
VíceZáklady programování (IZP)
Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden
Vícesetup() { I = 0; } loop() { I = I + 1; }
PŘERUŠENÍ Procesor pracuje tak, že načítá z paměti jednotlivé instrukce a ty následně zpracovává. Instrukce se zpracovávají v pořadí v jakém jsou uloženy v paměti. Vezměme jednoduchý program, který v nekonečném
VíceZáklady programování (IZP)
Základy programování (IZP) Jedenácté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Gabriela Nečasová, inecasova@fit.vutbr.cz
VíceReprezentace dat v informačních systémech. Jaroslav Šmarda
Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,
VíceP D S - 5 P. Psychologický diagnostický systém. Instalační manuál. Popis instalace a odinstalace programu Popis instalace USB driverů
P D S - 5 P Psychologický diagnostický systém Instalační manuál Popis instalace a odinstalace programu Popis instalace USB driverů GETA Centrum s.r.o. 04 / 2012 GETA Centrum s.r.o. Nad Spádem 9/206, 147
VíceBitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
VíceArchitektury počítačů
Architektury počítačů IEEE754 České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.20 2014 1 Fractional Binary Numbers (zlomková binární čísla / čísla v pevné řádové
VíceProgramovací jazyk C++ Hodina 1
Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor
VíceMotorola MC35 stručný návod k použití
Motorola MC35 stručný návod k použití Obecný popis Obr.1 obecný popis 1. LCD Dotykový displej 2. GSM Stav/Signalizace LED 3. Tlačítko ovládání hlasitosti 4. Přepínač Kamera/Čárový kód 5. Tlačítko Reset
VíceObslužný software. PAP ISO 9001
Obslužný software PAP www.apoelmos.cz ISO 9001 červen 2008, TD-U-19-20 OBSAH 1 Úvod... 4 2 Pokyny pro instalaci... 4 2.1 Požadavky na hardware...4 2.2 Postup při instalaci...4 3 Popis software... 5 3.1
VíceBI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České
VíceEduKit84. Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip. Uživatelská příručka
EduKit84 Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip Uživatelská příručka OBSAH 1. EduKit84 3 2. Popis zařízení 3 3. Provozní režimy 3 4. Mikrokontrolér PIC16F84A 4 5. Tabulka
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íceZáklady programování (IZP)
Základy programování (IZP) Deváté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 27.11.2017,
VíceLED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48
LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám
VícePrezentace a vysvětlení programového prostředí NXC
Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích
VícePopis programu: Popis přípon důležitých souborů: *.qpf projektový soubor Quartusu
Software Quartus II Popis programu: Quartus II Web Edition je označení bezplatného software, s jehož pomocí lze napsat, zkompilovat, odsimulovat a naprogramovat FPGA a CPLD obvody firmy Altera. Cílem tohoto
VícePř. další použití pointerů
Př. další použití pointerů char *p_ch; int *p_i; p_ch = (char *) p_i; // konverze int * na char * 8 int i = 5; int *p_i; p_i = &i; POZOR!!!! scanf("%d", p_i); printf("%d", *p_i); Obecný pointer na cokoliv:
VíceAlgoritmizace a programování
Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,
Více- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:
21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)
VíceIUJCE 07/08 Přednáška č. 1
Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming
VícePráce s binárními soubory. Základy programování 2 Tomáš Kühr
Práce s binárními soubory Základy programování 2 Tomáš Kühr Binární soubory Mohou mít libovolnou strukturu Data jsou uložena ve stejné podobě jako v paměti za běhu programu Výhody: Pro uložení je potřeba
VíceJazyk C++, některá rozšíření oproti C
Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra
VíceFaculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zjednodušené schéma systému z základ hardware pro mainframe tvoří: operační pamět - MAIN / REAL STORAGE jeden
VíceExterní zařízení. Uživatelská příručka
Externí zařízení Uživatelská příručka Copyright 2007 Hewlett-Packard Development Company, L.P. Windows je v USA registrovaná ochranná známka společnosti Microsoft Corporation. Informace obsažené v tomto
VíceNASTEVNÍ FOTOPASTÍ LTL. ACORN 5210, 5310, 6210 S GSM BRÁNOU. Pro nastavení fotopastí s GSM bránou je potřeba SIM karta a počítač
NASTEVNÍ FOTOPASTÍ LTL. ACORN 5210, 5310, 6210 S GSM BRÁNOU Pro nastavení fotopastí s GSM bránou je potřeba SIM karta a počítač SIM karta ověření: SIM kartu je třeba předem ověřit, zda je opravdu funkční
VíceTřídy a struktury v C++
katedra informatiky FEI VŠB-TU Ostrava 7. prosince 2015 Odvozené a strukturované typy dat v C základní datové typy součást normy jazyka, preprocesor použití netypových maker, raději voĺıme konstanty d
VícePROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 11
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 11 Programování mikropočítačů v jazyce C Jan Dolinay Petr Dostálek Zlín 2013 Tento studijní materiál vznikl
VícePROGRAMOVÁNÍ V C++ CVIČENÍ
PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné
VíceFunkční objekty v C++.
Funkční objekty v C++. Funkční objekt je instance třídy, která má jako svou veřejnou metodu operátor (), tedy operátor pro volání funkce. V dnešním článku si ukážeme jak zobecnit funkci, jak používat funkční
Více8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
VícePřerušovací systém s prioritním řetězem
Přerušovací systém s prioritním řetězem Doplňující text pro přednášky z POT Úvod Přerušovací systém mikropočítače může být koncipován několika způsoby. Jednou z možností je přerušovací systém s prioritním
VíceVíce o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
VíceMetody připojování periferií BI-MPP Přednáška 2
Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011
VíceZměna vlastností kódem
Změna vlastností kódem - Metoda setjménovlastnosti(hodnota); - Zadání úkolu Změna vlastností kódem Práce s vlastnostmi Metody setxxx nastavení vlastnosti Metody getxxx zjištění hodnoty vlastnosti případně
VíceNápověda k aplikaci EA Script Engine
Nápověda k aplikaci EA Script Engine Object Consulting s.r.o. 2006 Obsah Nápověda k aplikaci EA Script Engine...1 1. Co je EA Script Engine...2 2. Důležité upozornění pro uživatele aplikace EA Script Engine...3
VíceUživatelská příručka. FULL HD Policejní kamera
Uživatelská příručka FULL HD Policejní kamera 1 Před použitím si pečlivě přečtěte příručku, budete tak moci lépe využít veškeré funkce, které autokamera nabízí. Pozor 1. Kamera disponuje interní pamětí
Více9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek
9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód
VícePříloha č. I: Schéma zapojení vývojové desky PVK-PRO
Příloha č. I: Schéma zapojení vývojové desky PVK-PRO Schéma zapojení vývojové desky PVK-PRO (http://poli.cs.vsb.cz/edu/arp/down/pvk-pro.png) Příloha č. III: Organizace registrů v bankách PIC 16F84 Příloha
VícePoužití programu uscope k simulaci výukového přípravku pro předmět PMP
Použití programu uscope k simulaci výukového přípravku pro předmět PMP Ing. Tomáš Martinec Ph.D. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl
VíceČinnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus
Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná
VíceKlimatizace. Třída: 4.C. Střední Průmyslová Škola Elektrotechnická Havířov Protokol do MIT. Skupina: 3. Zpráva číslo: 3
Střední Průmyslová Škola Elektrotechnická Havířov Protokol do MIT Třída: 4.C Skupina: 3 Klimatizace Zpráva číslo: 3 Dne: 08.01.2007 Soupis použitých přístrojů: přípravek s μc 8051 přípravek s LCD přípravek
VíceStrojový kód. Instrukce počítače
Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska
VíceOperační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
VíceFormátová specifikace má tvar (některé sekce nemají smysl pro načítání) %
vstup a výstup na konzolu - vstupním zařízením je klávesnice, výstupním monitor (přístup jako k sériovým zařízením) - spojení s konzolami je nastaveno automaticky na začátku programu - ke konzole je možné
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
VíceBI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1
VíceMicrochip. PICmicro Microcontrollers
Microchip PICmicro Microcontrollers 8-bit 16-bit dspic Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ Authentication Products Návrh
VíceUživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý
Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části
Více7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů
VícePRESTO. USB programátor. Uživatelská příručka
PRESTO USB programátor Uživatelská příručka OBSAH 1. PRESTO 3 1.1. Použití 3 2. Obsah dodávky 3 3. Instalace 3 3.1. Instalace ovladačů 3 3.2. Instalace programu UP 4 4. Popis programovacího konektoru 5
VíceProměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.
Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné
VícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C u Soubor chápeme jako posloupnost bytů uložených na disku u Datový proud (anglicky stream) u Ještě obecnější přístup u Sjednocuje
VíceAplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a
Aplikace Embedded systémů v Mechatronice Michal Bastl A2/713a Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Pointery v C pole a řetězce předání funkci referencí Vlastní datové typy
VíceTomTom ecoplus. Update Tool
TomTom ecoplus Update Tool Vítejte Vítejte S nástrojem TomTom ecoplus Update Tool můžete aktualizovat software zařízení TomTom ecoplus pomocí zařízení TomTom LINK 3xx/510 a síťového adaptéru ecoplus. Předpoklady
Více