Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Podobné dokumenty
Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Microchip. PICmicro Microcontrollers

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Algoritmizace a programování

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Zá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í

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr

Programování v C++ 1, 1. cvičení

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

2 Datové typy v jazyce C

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Programování v C++ 1, 14. cvičení

MPASM a IDE pro vývoj aplikací MCU (Microchip)

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

2.4 Cykly 2. ZÁKLADY JAZYKA C

ČÁST 1. Základy 32bitového programování ve Windows

Operační systémy. Cvičení 4: Programování v C pod Unixem

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr

Ovládání LCD. Ing. Josef Grosman. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Abstraktní třídy, polymorfní struktury

Programovací jazyk C++ Hodina 1

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 11

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Základy programování (IZP)

2 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.

Úvod do mobilní robotiky AIL028

dspic33: Přerušení, čítače a Change Notification

- tzv. standardní vstupní a výstupní proud (input / output stream)

Úvod do programovacích jazyků (Java)

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

Rozsáhlé programy = projekty

Jazyk C# a platforma.net

PREPROCESOR POKRAČOVÁNÍ

PB161 Programování v jazyce C++ Přednáška 10

FILIP SCHWANK. Katedra měření, listopad 2017

Logické 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

Opakování programování

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr

Poslední nenulová číslice faktoriálu

PROGRAMOVÁNÍ V C++ CVIČENÍ

IUJCE Přednáška č. 1. programování v C na vyšší úrovni základy objektově orientovaného programovaní v (C++, C#)

- jak udělat konstantu long int: L long velka = 78L;

Operační systémy. Cvičení 3: Programování v C pod Unixem

Programování v jazyce C pro chemiky (C2160) 10. Grafická knihovna g2

Desky Evb Display a Evb Keyboard

Více o konstruktorech a destruktorech

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Abstraktní datové typy, moduly

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á

Úvod do programování. Lekce 1

Vector datový kontejner v C++.

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Mělká a hluboká kopie

<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************

Výuková laboratorní sestava seminář pro učitele

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Třídy a struktury v C++

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

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

IUJCE 07/08 Přednáška č. 1

První kapitola úvod do problematiky

Programování kitu F0- Lab v C++ pomocí on line IDE mbed. Klub ETC, ČVUT FEL, kat. měření. ETC , kat. měření, ČVUT, FEL, Praha

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Úvod do programovacích jazyků (Java)

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Programování v C++ První kroky

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Snížení příkonu MCU. Vybavení pro MCU. Snížení příkonu MCU. Možnosti snížení příkonu

Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Prezentace a vysvětlení programového prostředí NXC

Úvod do programování

Dílčí příklady použití jazykových konstrukcí v projektu. Jazyk C Příklady. Pravidla překladu v gmake. Zadání

Základy programování (IZP)

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Transkript:

Aplikace Embedded systémů v Mechatronice

Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakovaní Funkce v C Tvorba knihoven Konfigurační bity #pragma Makra v C #define Debugging v MPLAB Hardware poznámky

Opakování K čemu je dobrý koncept bitových masek? Jaký používáme kompilátor? Jaké je uplatnění bitového posunu? Co víme o MCU, které používáme? Co je hlavní rozdíl v jazyce C oproti MATLABU? Co je to ASCII? Jak je v C uchován řetězec znaků? Komu se podařilo rozjet doma?

podminky if..else //příklad podmínky if else //příklad podmínky if else int a = 10; int a = 10; if (a == 10){ //function1 else{ //function2 if (a == 10){ //function1 else if(a < 10){ //function2 else{ //function3

for smyčka //příklad for smyčky For smyčka se používá tehdy, kdy znám dopředu počet cyklů, které chci provést. int i; for (i=0; i < 10; i++){ printf( Ahoj svete ); Kolik vytisknutí na terminál se provede??

while smyčka //příklad while smyčky While smyčka funguje jinak, jednoduše opakuje blok programu v jeho těle dokud platí podmínka int a = 10; while(a <= 100){ a = a * 10; Kolik bude v proměnné a??

Funkce v C Funkce nemusí vracet hodnotu slovo void, jinak může vracet datové typy např. int, char apod klíčové slovo return. return 0; Funkce může přijímat parametry (int a, char, b ) nebo žádné nemá (void) Překladač před použitím musí funkci znát, případně ví, že funkce někde existuje. Je definovaná. Používáme prototyp funkce před prvním použitím. Deklarujeme ji. void putchar(char c); // prototype pozor na ; //definice funkce void putchar(char c){ buffertosend = c; Ukázka!

Funkce v C Deklarace vs. Definice //deklarace (prototyp) int soucet(int a, int b); //main int main(){ int c; c = soucet(10, 5); return 0; //definice int soucet(int a, int b){ return a + b; //definice int soucet(int a, int b){ return a + b; //main int main(){ int c; c = soucet(10, 5); return 0;

Vytvoření knihovny K vytvoření knihovny potřebuji tzv. hlavičkový soubor a skript, kde mám své funkce případně datové typy atd Vytvoříme knihovnu a zavedeme funkce pro součet a odečet dvou celočíselných proměnných. #ifndef zabraňuje vícenásobnému vložení téhož kódu. Prostředí Vám doplní do.h souboru automaticky Soubor MyMath.h #ifndef MYMATH_H #define MYMATH_H int soucet(int a, int b); int odecet(int a, int b); #endif Soubor MyMath.c #include "MyMath.h" int soucet(int a, int b){ return a + b; int odecet(int a, int b){ return a - b;

Konfigurační bity/pojistky Používáme direktivu preprocesoru #pragma Často osahuje první nastavení procesoru, jako zdroj hodinového signálu, watchdog timer apod. #pragma config WDTEN = OFF #pragma config FOSC = INTIO7 #pragma config MCLRE = EXTMCLR #pragma config FCMEN = ON Ukázka! #pragma config FOSC = XT // Oscillator Selection bits (XT oscillator) #pragma config PLLCFG = OFF // 4X PLL Enable (Oscillator used directly) #pragma config PRICLKEN = ON // Primary clock enable bit (Primary clock is always enabled) #pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled) #pragma config IESO = OFF // Internal/External Oscillator Switchover bit (Oscillator Switchover mode disabled)

Debugging Slouží k ladění programu V prostředí MPLAB lze s pomocí PICkit3 krokování programu Breakpointy Pozorování proměnných a registrů v procesoru Ukázka!

Zapojení PIC18 Stabilizovaný zdroj napětí (nejlépe LDO 1%) Blokovací kondenzátory napájecích pinů Přesné napětí pro AVdd Koncept pull-up a pull-down rezistorů Omezení proudu = ochrana I/O pinů

Zapojení PIC18

Zapojení PIC18