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á

Podobné dokumenty
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

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á

WORKSHEET 1: LINEAR EQUATION 1

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

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

2. Entity, Architecture, Process

Introduction to MS Dynamics NAV

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

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

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Compression of a Dictionary

Litosil - application

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl. České vysoké učení technické Fakulta elektrotechnická

Selection from Susta:Computer System Structures & John Loomis: Computer organization & M.Mudawar:Computer Architecture & Assembly Language. Cvičení 1.

Digital Electronics. Jaroslav Bernkopf. 17 October 2008

Transportation Problem

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.

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

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

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

Chapter 7: Process Synchronization

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

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

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

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

VY_32_INOVACE_06_Předpřítomný čas_03. Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace

1, Žáci dostanou 5 klíčových slov a snaží se na jejich základě odhadnout, o čem bude následující cvičení.

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

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

Gymnázium, Brno, Slovanské nám. 7, SCHEME OF WORK Mathematics SCHEME OF WORK. cz

COMPETENT AUTHORITY responsible for ensuring compliance with Regulation (EC) No 21/2004:

Struktura a architektura počítačů

B1 MORE THAN THE CITY

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

Agilní metodiky vývoje softwaru

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

4Ever H A N D B O O K

CHAIN TRANSMISSIONS AND WHEELS

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

Britské společenství národů. Historie Spojeného království Velké Británie a Severního Irska ročník gymnázia (vyšší stupeň)

Problém identity instancí asociačních tříd

Database systems. Normal forms

Struktura a architektura počítačů

x86 assembler and inline assembler in GCC

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

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

2N Voice Alarm Station

ČTENÍ. M e t o d i c k é p o z n á m k y k z á k l a d o v é m u t e x t u :

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

Střední odborná škola a Střední odborné učiliště, Chrudim, Čáslavská 205. Keywords: The wedding banquet, The seating arrangement, Wedding customs

Jak importovat profily do Cura (Windows a

Digitální učební materiál

SHIFTIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) SPIIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...})

THE MARKING OF BOVINE ANIMALS IN THE CZECH REPUBLIC

EXACT DS OFFICE. The best lens for office work

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

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

NÁVOD K NASTAVENÍ VODÍTEK PILOVÉHO PÁSU ADJUSTING SAW BLADE GUIDE

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

LOGOMANUÁL / LOGOMANUAL


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

Čipové karty Lekařská informatika

kupi.cz Michal Mikuš

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

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

Configuration vs. Conformation. Configuration: Covalent bonds must be broken. Two kinds of isomers to consider

ACOUSTIC EMISSION SIGNAL USED FOR EVALUATION OF FAILURES FROM SCRATCH INDENTATION

Základy digitální techniky

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

TKGA3. Pera a klíny. Projekt "Podpora výuky v cizích jazycích na SPŠT"

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Eurogranites 2015 Variscan Plutons of the Bohemian Massif

Housework, professions, jobs, services, tradition/culture.

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

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

Obsah&/&Content& Všeobecné)podmínky)(v)češtině)) Terms)and)Conditions)(in)english)) )

Just write down your most recent and important education. Remember that sometimes less is more some people may be considered overqualified.

SPECIFICATION FOR ALDER LED

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

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

POWERSHELL. Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE

Automatika na dávkování chemie automatic dosing

Úvod do programovacích jazyků (Java)

Pokyny k použití. Model-300. Napájecí zdroj. Návod na obsluhu Operating Instructions. se systémem Aquacontrol Napájací zdroj

Výukový materiál zpracovaný v rámci operačního programu Vzdělávání pro konkurenceschopnost

USER'S MANUAL FAN MOTOR DRIVER FMD-02

ŘÍZENÍ ELEKTRICKÝCH POHONŮ. Systémová struktura počítače Řízení běhu programu. České vysoké učení technické Fakulta elektrotechnická

SEZNAM PŘÍLOH. Příloha 1 Dotazník Tartu, Estonsko (anglická verze) Příloha 2 Dotazník Praha, ČR (česká verze)... 91

Vánoční sety Christmas sets

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

World cup #9 and #10 Czech republic

By David Cameron VE7LTD

Pear - hruška Systém pro implementaci a distribuci znovupoužitelných komponent (v PHP) Strukturovaná knihovna open-source (PHP) skriptů Systém pro dis

Radiova meteoricka detekc nı stanice RMDS01A

Travelling Rules for Inbounds in District 2240 Czechia and Slovakia

PROVOZNÍ PŘÍRUČKA PŘÍLOHY ČÁST

Transkript:

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

Programovací jazyk C - proměnné Variables: Used for storing data. Variables are located in Data memory, programmer choose symbolic names for variables and linker places them into memory. Programmer use variables calling them by symbolic name For variable naming is used: Variable name consist of UPPER and lower case, numbers, underline ( _ ). Variable name can t start with number Programmer should define type of variable Variable should be declared first (select name and type), than can be used. A1B14MIS Mikroprocesory pro výkonové systémy 07 2

Programovací jazyk C - proměnné Variable: Type: most used types: int numbers with sign unsigned int positive numbers double racional numbers Life time is important for variables: Static: exist for the whole run of program Automatic: exist in function Static variables: Declaration shoudl be outside all functions At the beginning of function with word static A1B14MIS Mikroprocesory pro výkonové systémy 07 3

Variables: Programovací jazyk C - proměnné Automatic: declared at beginning of function. Exist only IN function for a new run of function are newly allocated (placed on stack). Formal parametrs: parameters in function headers Same as automatic variables. A1B14MIS Mikroprocesory pro výkonové systémy 07 4

Variables: Programovací jazyk C - proměnné Visibility: Defines where in the code are variables visible. Global: are visible EVERYWHERE. Declared outside all functions are automatically static. To show global variable in another file use extern - extern int x Local: are visible only in part where are declared. All automatic variables. All variables have to be defined before compilation. A1B14MIS Mikroprocesory pro výkonové systémy 07 5

Programovací jazyk C statické proměnné Static variable, declared outside functions(global ) Static variable in function (local) A1B14MIS Mikroprocesory pro výkonové systémy 07 6

Programovací jazyk C viditelnost proměnných (visibility) Visible everywhere Visible in function A1B14MIS Mikroprocesory pro výkonové systémy 07 7

Programovací jazyk C automatické proměnné a formální parametry Automatic variable Formal parameters A1B14MIS Mikroprocesory pro výkonové systémy 07 8

Programovací jazyk C viditelnost proměnných (visibility) Visible in function Visible in function A1B14MIS Mikroprocesory pro výkonové systémy 07 9

Programovací jazyk C - konstanty Constatns: Numbers: 12 (decimal), 0xF4 (hexadecimal), 345.76 (real) 0b11001001 (binary) Symbolic: #define UHEL_ALFA 456 Do not end with semi-colon, usually in UPPERCASE Lists: enum {FALSE, TRUE}; enum {ALFA, BETA, GAMA, DELTA} Numbers are automatically assigned to symbolic names. A1B14MIS Mikroprocesory pro výkonové systémy 07 10

Programovací jazyk C konstanty Symbolic constatn Listing Binary constant A1B14MIS Mikroprocesory pro výkonové systémy 07 11

Programovací jazyk C - výraz Expression: expression code for value calculation Contain: Variables Constants Operators (aritmetics, logic, bitwise) Pair of brackets (priority) Examples: (x / y) * 3.14 // multiplication z w // logic OR r >> 8 // bitwise shift A1B14MIS Mikroprocesory pro výkonové systémy 07 12

Programovací jazyk C příkaz přiřazení Asignment : Asignment = Asigns value calculated on right side of = to Variable on the left side Examples: x = (x / y) * 3.14 u = z w m = r >> 8 // x on both sides =, OK A1B14MIS Mikroprocesory pro výkonové systémy 07 13

Programovací jazyk C operátory Operators: Arithmetical: +, -, *, /, % / Division. CAUTION if both numbers are / integer numbers it will be integer division (např. 2 / 3 = 0), % reminder (např. 5 % 3 = 2). Logical:! - NOT. (Pozor!0 = 1;!234 = 0, atp.) - OR (např. 0 45 = 1) && - AND (např. 33 && 45 = 1)!= - XOR (např. 33!= 45 = 1) A1B14MIS Mikroprocesory pro výkonové systémy 07 14

Programovací jazyk C operátory aritmetické Integer divison Reminder Division A1B14MIS Mikroprocesory pro výkonové systémy 07 15

Programovací jazyk C operátory logické Program jumps here Program jumps here Program jumps here Program jumps here A1B14MIS Mikroprocesory pro výkonové systémy 07 16

Programovací jazyk C operátory (pokračování) Operator: Bitwise: ~ bitwise NOT (Např. ~0xFF00 = 0x00FF atp.) - bitwise OR (např. 0xFF00 0x00FF = 0xFFFF) & bitwise AND (např. 0xFF00 & 0x 0x00FF = 0x0000) ^ bitové XOR (např. 0xFF00 ^ 0xFFFF = 0x00FF) >> bitwise shift right (0x00FF >> 4 = 0x000F) << bitwise shift left (např. 0x00FF << 8 = 0xFF00) A1B14MIS Mikroprocesory pro výkonové systémy 07 17

Programovací jazyk C operátory bitové Bitwise NOT Bitwise OR Bitwise AND Bitwise XOR Shift right Shift left A1B14MIS Mikroprocesory pro výkonové systémy 07 18

Programovací jazyk C operátory (pokračování) Operators: Relation: == equal (např. 75 == 75 = 1)!= not equal (např. 21!= 13 = 1) > greather (např. 27 > 21 = 1) >= grather or equal (34 >= 34 = 1) < lower (14 < 23 = 1) <= lower or equal (57 <= 57 = 1) A1B14MIS Mikroprocesory pro výkonové systémy 07 19

Programovací jazyk C operátory relační Program jumps here Program jumps here Program jumps here Program jumps here Program jumps here A1B14MIS Mikroprocesory pro výkonové systémy 07 20

Programovací jazyk C ovládání hardware PIC18F87J11 Programming of PIC pheripheries is easy. Every HW block has defined number of configuration registers All registers are 8 bits Every register has name. Register names are in documentation PIC18FJ87J11 Family Data Sheet. To use in C control registers by names from documentation include file p18f87j11.h, Registers are Memory Mapped Input/Output, so they can be assigned as any other variable A1B14MIS Mikroprocesory pro výkonové systémy 07 21

Programovací jazyk C ovládání hardware PIC18F87J11 A1B14MIS Mikroprocesory pro výkonové systémy 07 22

Programovací jazyk C ovládání hardware PIC18F87J11 Setting of configuration register for timer Separate settings (add bits.) A1B14MIS Mikroprocesory pro výkonové systémy 07 23

Programovací jazyk C oživení systému přerušení PIC18F87J11 has either one level interrupt system or two level interrupt system. PIC has many sources of interrupts, but only two levels. Any source can be assigned to any priority. IPEN For two level interrupts select IPEN = 1. xif every source of interrupt has in some register its interrupt request flag IF (Interrupt flag), bit is set by HW, should be cleared in code. xip Priority level for interrupt source xie (Interrupt Enable) GIEL, GIEH Enabel of interrupts. Both should be = 1) A1B14MIS Mikroprocesory pro výkonové systémy 07 24

Programovací jazyk C oživení systému přerušení High Priority Enable GIEH HIGH PRIORITY Priority Encoder INTRQ LOW PRIORITY xip yip GIEL IPEN Priority System On xif xie yif yie Low Priority Enable INPUT Event Detector........ Clk Timer Interrupt Priority Interrupt Enable INTERRUPT RESOURCES Interrupt Flag (Request) A1B14MIS Mikroprocesory pro výkonové systémy 07 25

Programovací jazyk C příklad přerušení od TIMER0 Příklad 1 část A1B14MIS Mikroprocesory pro výkonové systémy 07 26

Programovací jazyk C příklad přerušení od TIMER0 Příklad 2 část A1B14MIS Mikroprocesory pro výkonové systémy 07 27

Programovací jazyk C příklad přerušení od TIMER0 Příklad 3 část ISR pro vyšší a ISR for higher and nižší prioritu lower priority přerušení Interrupt table A1B14MIS Mikroprocesory pro výkonové systémy 07 28

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