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á

Podobné dokumenty
MIKROPROCESORY 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á

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

2. Entity, Architecture, Process

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

1. Maple - verze. 2. Maple - prostredi. Document Mode vs. Worksheet Mode

2011 Jan Janoušek BI-PJP. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 VÍTKOVICE STEEL, a.s. vitkovicesteel.com

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

WYSIWYG EDITOR PRO XML FORM

Jak importovat profily do Cura (Windows a

Introduction to MS Dynamics NAV

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

WORKSHEET 1: LINEAR EQUATION 1

UPM3 Hybrid Návod na ovládání Čerpadlo UPM3 Hybrid 2-5 Instruction Manual UPM3 Hybrid Circulation Pump 6-9

Využití hybridní metody vícekriteriálního rozhodování za nejistoty. Michal Koláček, Markéta Matulová

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

2 Axiomatic Definition of Object 2. 3 UML Unified Modelling Language Classes in UML Tools for System Design in UML 5

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

WL-5480USB. Quick Setup Guide

DC circuits with a single source

Mechanika Teplice, výrobní družstvo, závod Děčín TACHOGRAFY. Číslo Servisní Informace Mechanika:

NÁVOD NA OBSLUHU AKTUALIZACE SW

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Invitation to ON-ARRIVAL TRAINING COURSE for EVS volunteers

Next line show use of paragraf symbol. It should be kept with the following number. Jak může státní zástupce věc odložit zmiňuje 159a.

Modelování ve vodním hospodářství II. Modeling in Water Management

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

EXACT DS OFFICE. The best lens for office work

Database systems. Normal forms

Transportation Problem

Instalace MS Dynamics NAV 5.0. Stručný návod/installation manual

2N LiftIP. Voice Alarm Station. Communicator for Lifts. Version

Litosil - application

První kapitola úvod do problematiky

External ROM 128KB For Sinclair ZX Spectrum

TECHNICKÝ LIST řada mechanických odvaděčů kondenzátu AUTODRAIN TECHNICAL DATA SHEET for mechanical autodrain equipment AUTODRAIN

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

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Arduino Ethernet Shield W5100 R3

18.VY_32_INOVACE_AJ_UMB18, Frázová slovesa.notebook. September 09, 2013


Arduino Data Logger Shield

Čipové karty Lekařská informatika

1 st International School Ostrava-mezinárodní gymnázium, s.r.o. Gregorova 2582/3, Ostrava. IZO: Forma vzdělávání: denní

EURO přeshraniční platba

Aktivita CLIL Chemie I.

2N LiftIP. IO Extender. Communicator for Lifts. Version

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Číslo projektu: CZ.1.07/1.5.00/ Název projektu: Inovace a individualizace výuky

Instalace MS Dynamics NAV 5.0. Stručný návod/installation manual

PAINTING SCHEMES CATALOGUE 2012

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

SIMATIC S7-1500(T) SIMOTION konfigurace systému Motion Control. Engineered with TIA Portal. Unrestricted Siemens AG 2017

Chapter 7: Process Synchronization

HASHING GENERAL Hashovací (=rozptylovací) funkce

Microsoft Lync WEB meeting

Postup objednávky Microsoft Action Pack Subscription

2N Voice Alarm Station

První kroky s METEL IEC IDE

x86 assembler and inline assembler in GCC

5 ÚVOD DO TESTOVÁNÍ SOFTWARE. 6 Testování software ve vývojovém prostředí MICROSOFT VISUAL STUDIO V hlavním menu volba Debug

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

PG 9.5 novinky ve vývoji aplikací

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

CZ.1.07/1.5.00/

První brněnská strojírna Velká Bíteš, a.s. was founded in E.g. sales people, purchasing clerks, development workers, designers.

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

1. Uvod 2. Maple - verze - Maple 18: Standard Worksheet (.mw) -!! my budeme pouzivat!! 3. Maple - prostredi Ikonky Poznamka: Priklad: >

(

EU peníze středním školám digitální učební materiál

Návod na práci s přípravkem a programy uscope a FLIP na cvičeních

LOGBOOK. Blahopřejeme, našli jste to! Nezapomeňte. Prosím vyvarujte se downtrade

USER'S MANUAL FAN MOTOR DRIVER FMD-02

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

CCD 90 MV Cameras (Firewire) CCD 90 MV Cameras (GigE) CCD 90 MV Cameras (USB 2.0)

Algoritmizace a programování

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

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

Algoritmizace a programování

Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK. Registrační číslo: CZ.1.07/2.2.00/

Změna vlastností kódem

Kurz Databáze. Přechod na SQL server. Obsah. Vytvoření databáze. Lektor: Doc. Ing. Radim Farana, CSc.

Řídicí struktury. alg3 1

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Utilita L32 LogSync v

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

ISU Cvičení 2. Marta Čudová

Struktury a dynamické proměnné

Compression of a Dictionary

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

ROLZ-2. Portable AV/Conference Center. Assembly Instructions

GENERAL INFORMATION MATCH: ALSA PRO ARENA MASTERS DATE: TIME SCHEDULE:

Tabulka 1 Stav členské základny SK Praga Vysočany k roku 2015 Tabulka 2 Výše členských příspěvků v SK Praga Vysočany Tabulka 3 Přehled finanční

Michal Podzimek

Transkript:

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, 2017 1

Programing language C C most used language for Emebede systems. Embedded sytem means: Device, that does not look as computer, but is programmed for specific function. C is compiled language. What does it mean? Source code written by the programmer is transformed into executable code. It is runable without any further online operations. (Compared to Java) A1B14MIS Mikroprocesory pro výkonové systémy 06 2

C language source code compilation Source code C is compiled to (runable) code in several steps. Step 1: Preprocesor remove comments and process lines with # (preprocesor commands) Step 2: Compiler syntax check (language standards C ) translate code into assembly language. Step 3: Assembler translator translate assembler code into machine code and leave addresses of calls and jumps unsolved. Step 4: Linker calculate mutual addresses of code and places code into memory according to Linker skriptu. Steps 1.-4. run on PC executable program is saved to hard drive. It have to be programmed in FLASH memory of controller. A1B14MIS Mikroprocesory pro výkonové systémy 06 3

C language source code compilation soubor2.h soubor1.c Header soubor3.c Source code Source code 1) Preprocessor Source code C Source code ASM 2) Compiler Assembly code 3) Assembler Object code soubor4.asm Source code soubor5.lib Libraries Libraries 4) Linker Machine code Executable code A1B14MIS Mikroprocesory pro výkonové systémy 06 4

IDE Integrated Development Environment Source code in C can be written in any text editor and compilation steps can run separetely from command line. IDE Contains: Text editor IDE runs all necassary steps of source code compilation (preprocesor linker). Pass information about memory allocation to Linker (from Linker skript) IDE contains simulator - program, that run on PC and can emulate behavior of the microcontroller. IDE contains programer for uploading code into microcontroller memory. IDE contains emulator that enable debugging of the code in microcontroller For laboratories will be used IDE MPLAB. A1B14MIS Mikroprocesory pro výkonové systémy 06 5

Oživení IDE MPLAB IDE MPLAB work with project. Project contains all necassary information about microcontroller, used compiler, linker script, window alignment, source files etc. New project (following screens): Project (Upper toolbar) Project wizard Insert type microcontoler (PIC18F87J11) Select tools (C18,MPASM,MPLINK,MPLIB) Select project name Insert resources Finish A1B14MIS Mikroprocesory pro výkonové systémy 06 6

Oživení IDE MPLAB New source code file : File (Upper toolbar) New File Save as Select file name *.c Insert Linker skript : Menu File, folder Linker skript, right click Add files Locate folder lkr with file 18F87J11.lkr Open (file name will be under Linker skript Add source file to project: Windiw File, symbol folder Source files, right click Add files locate *.c, Open (file name will be under Source files A1B14MIS Mikroprocesory pro výkonové systémy 06 7

Oživení IDE MPLAB IDE MPLAB has 3 main windiws (File, text editor, Output). Text editor is for source code: int x; void main(void){ while(1){ x = x + 1; } } Compilation in IDE: Project (Upper toolbar) Build all Output will show result of compilation BUILD SUCCEDED. Or BUILD FAILED. A1B14MIS Mikroprocesory pro výkonové systémy 06 8

Oživení IDE MPLAB založení projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 9

Oživení IDE MPLAB založení projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 10

Oživení IDE MPLAB založení projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 11

Oživení IDE MPLAB založení projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 12

Oživení IDE MPLAB založení projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 13

Oživení IDE MPLAB založení projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 14

Oživení IDE MPLAB založení zdrojového souboru A1B14MIS Mikroprocesory pro výkonové systémy 06 15

Oživení IDE MPLAB založení zdrojového souboru File New Save as A1B14MIS Mikroprocesory pro výkonové systémy 06 16

Oživení IDE MPLAB volba Linker skriptu Files Linker skript Add files A1B14MIS Mikroprocesory pro výkonové systémy 06 17

Oživení IDE MPLAB volba Linker skriptu A1B14MIS Mikroprocesory pro výkonové systémy 06 18

Oživení IDE MPLAB připojení zdrojového souboru do projektu Files Source files Add files A1B14MIS Mikroprocesory pro výkonové systémy 06 19

Oživení IDE MPLAB připojení zdrojového souboru do projektu A1B14MIS Mikroprocesory pro výkonové systémy 06 20

Oživení IDE MPLAB zápis testovacího programu A1B14MIS Mikroprocesory pro výkonové systémy 06 21

Oživení IDE MPLAB sestavení spustitelného programu Projects Build all A1B14MIS Mikroprocesory pro výkonové systémy 06 22

Oživení IDE MPLAB vložení headeru pro zvolený mikrokontroler To use in C source code names of control registers for microcontroler have to include variables into C. Done by so called. Header file (header), that is included to source code by preprocesor. Command include, for preprocesor begins with #. Header files *.h For microcontroler in lab P18F87J11.h Header file is prepared in IDE located in folder h To source file add #include <P18F87J11.h> A1B14MIS Mikroprocesory pro výkonové systémy 06 23

Oživení IDE MPLAB vložení headeru pro zvolený mikrokontroler Okno Files Header files Add files A1B14MIS Mikroprocesory pro výkonové systémy 06 24

Oživení IDE MPLAB vložení headeru pro zvolený mikrokontroler Files Header files Add files A1B14MIS Mikroprocesory pro výkonové systémy 06 25

Oživení IDE MPLAB vložení headeru pro zvolený mikrokontroler A1B14MIS Mikroprocesory pro výkonové systémy 06 26

Oživení IDE MPLAB připojení simulátoru do projektu IDE MPLAB contain powerfull simulator Helps programmer to debugg code before uploading to microcontroller Debugger (Upper toolbar) Select tool MPLAB SIM After connection of Debugger (upper toolbar) appear debugging commands. Breakpoint is inserted by double click. A1B14MIS Mikroprocesory pro výkonové systémy 06 27

Programovací jazyk C je blokový jazyk C is block language Block in C is named function All commands in C have to be in function Outside functions can be declarations only Function contains: Header Body Function header: Returning value (void does not return anything) Function name ( main is neccasary, others selected by programmer) Formal parameters (can be void) Function body: Defined by {} Contains program code A1B14MIS Mikroprocesory pro výkonové systémy 06 28

Programovací jazyk C funkce Functions C can be located: In one file on disk In several files on disk File name on disk name *.c Each file located on disk have to be registerd in Project (menu Files, folder Source Files ) Function names have to be unique C language differs UPPER / lower case vypoctiobsahkruhu (a nikoliv Vypoctiobsahkruhu atp.) A1B14MIS Mikroprocesory pro výkonové systémy 06 29

Programovací jazyk C funkce Breakpoint Function main Program stoped here Name of function A1B14MIS Mikroprocesory pro výkonové systémy 06 30

Programovací jazyk C funkce Function call Function main must be in code Function header Body of function defined by {} A1B14MIS Mikroprocesory pro výkonové systémy 06 31

Programovací jazyk C funkce Function call Real parameter Ret val type Ret val Input parameter A1B14MIS Mikroprocesory pro výkonové systémy 06 32

Programovací jazyk C funkce a procedury Type of function based on returning value: Returning value = Funtion Without ret val (void) = Procedure Formal parameters (defining inputs of function) Formal parameters can be more than 1 Names of formal parameters is used for function description has nothing to do with real parameters Before using function define prototype of function for compiler to check syntax. Function prototype is function header. A1B14MIS Mikroprocesory pro výkonové systémy 06 33

Programovací jazyk C funkce a procedury Function prototype Function call Type function Type of functional value Procedure has does not return anythink A1B14MIS Mikroprocesory pro výkonové systémy 06 34

Programovací jazyk C řídící struktury Control structure part of code, that defines way of execution 3 main types of control structure: 1. sequence, defining sequentila execution of commands from top to bottom 2. Branch, code execution after some condition 3. cycle, repeated execution of commands 1. Block of commands Block: { <set of commands> } 2. Command if or if else for branching (conditionla) 3. switch for code branching 4. Commands while, do while or for cycle A1B14MIS Mikroprocesory pro výkonové systémy 06 35

Programovací jazyk C řídící struktury podmíněný příkaz if if else + + - - A1B14MIS Mikroprocesory pro výkonové systémy 06 36

Programovací jazyk C řídící struktury podmíněný příkaz if + - Složený příkaz A1B14MIS Mikroprocesory pro výkonové systémy 06 37

Programovací jazyk C řídící struktury podmíněný příkaz if else + - Blok (je zde i deklarace int u) u je známé jen uvnitř bloku A1B14MIS Mikroprocesory pro výkonové systémy 06 38

Programovací jazyk C řídící struktury programový přepínač switch A1B14MIS Mikroprocesory pro výkonové systémy 06 39

Programovací jazyk C řídící struktury programový přepínač switch Pokud se nenajde shoda mezi testovanou proměnnou (zde x) a case, celý switch se přeskočí Testovaná proměnná musí být celočíselná Za case musí být konstanta (přímá nebo symbolická) A1B14MIS Mikroprocesory pro výkonové systémy 06 40

Programovací jazyk C řídící struktury cyklus while nebo for - + A1B14MIS Mikroprocesory pro výkonové systémy 06 41

Programovací jazyk C řídící struktury cyklus while - + A1B14MIS Mikroprocesory pro výkonové systémy 06 42

Programovací jazyk C řídící struktury cyklus while + - Musí být v tomto pořadí, aby se konstanta TRUE = 1 Nekonečný cyklus ( C nezná logickou proměnnou, ale 1 = true, jiná hodnota = false) A1B14MIS Mikroprocesory pro výkonové systémy 06 43

Programovací jazyk C řídící struktury cyklus for - + A1B14MIS Mikroprocesory pro výkonové systémy 06 44

Programovací jazyk C řídící struktury cyklus for - + Nekonečný cyklus A1B14MIS Mikroprocesory pro výkonové systémy 06 45

Programovací jazyk C řídící struktury cyklus do while - + A1B14MIS Mikroprocesory pro výkonové systémy 06 46

Programovací jazyk C řídící struktury cyklus do while - + Pozor: cyklus do-while se provede vždy alespoň jednou, neboť test je až na konci bloku A1B14MIS Mikroprocesory pro výkonové systémy 06 47

Programovací jazyk C řídící struktury cyklus do while - Musí být v tomto pořadí, aby se konstanta TRUE = 1 + Nekonečný cyklus ( C nezná logickou proměnnou, ale 1 = true, jiná hodnota = false) A1B14MIS Mikroprocesory pro výkonové systémy 06 48

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl KONEC České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 49