60
BUDAI TAMÁS 2015. 09. 06. Labor gyakorlat – Mikrovezérlők ATMEL AVR – ARDUINO 1. ELŐADÁS

Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

BUDAI TAMÁS

2015. 09. 06.

Labor gyakorlat – MikrovezérlőkATMEL AVR – ARDUINO

1. ELŐADÁS

Page 2: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

Labor 2 – mikrovezérlők modul

• 2 alkalom

–1 mikrovezérlők felépítése, elmélet

–2 programozás, mintaprogramok

• Értékelés: a 2. alkalom elején miniZH az

1. alkalommal elhangzottakból.

Forma: 5+1 rövid választ igénylő kérdés

2015. 09. 09.2

Tartalom

Előadó: Budai Tamás

Page 3: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.3

Tartalom

Előadó: Budai Tamás

Page 4: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.4

Tartalom

Előadó: Budai Tamás

Page 5: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

Mikrovezérlő:

• Kisméretű, alacsony fogyasztású,

programvezérelt digitális hálózat, avagy

számítógép

2015. 09. 09.5

Mikrovezérlők

Előadó: Budai Tamás

Page 6: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

Alkalmazási területek:

• Háztartási és szórakoztató elektronika

• Ipari elektronika

• Járműipar

• Gyógyászati eszközök

• „SMART” eszközök

• …

2015. 09. 09.6

Mikrovezérlők

Előadó: Budai Tamás

Page 7: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.7

Tartalom

Előadó: Budai Tamás

Page 8: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.8

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Mikroprocesszor

ALU

Mikrovezérlő

CU ALU CU

Memória

Perifériák

Órajel-generátor

Megszakítás kezelő

A mikrovezérlő (=mikrokontroller) = teljes számítógép egy

tokban (SoC)

Page 9: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.9

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Mikrovezérlő

ALU CU

Memória

Perifériák

Órajel-generátor

Megszakítás kezelő

Számítógép, tehát

érvényesek rá a Neumann

alapelvek:

• Elektronikus

• Bináris számrendszer

• Adat és programmemória

• Univerzális Turing-gép

Page 10: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.10

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Mikrovezérlő

ALU CU

Memória

Perifériák

Órajel-generátor

Megszakítás kezelő

CPU (ALU+CU):

• Egyes családoknál* közös

• Meghatározza a

számábrázolást*:

8,16,32bit…

Page 11: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.11

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Mikrovezérlő

ALU CU

Memória

Perifériák

Órajel-generátor

Megszakítás kezelő

Memória típusok:

• Program memória

• Perzisztens, nem újraírható

• Perzisztens, de újraírható

• Adatmemória

• Nem perzisztens: RAM

• Perzisztens: ROM

Page 12: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.12

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Mikrovezérlő

ALU CU

Memória

Perifériák

Órajel-generátor

Megszakítás kezelő

Megszakítás kezelő:

• A normál futást megszakítva

rákényszeríti a rendszert, hogy

azonnal hajtson végre egy

speciális programrészt

• Megszakítás forrásai

• Belső: időzítő, periféria

• Külső: adott lábon felfutó él

Page 13: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.13

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Page 14: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.14

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Működés

Egy általános célú mikrovezérlő a reset esemény után a

következő lépéseket hajtja végre:

1. Minden periféria alaphelyzetbe állítása

2. A program lépéseinek végrehajtása a „reset

vektor”-tól (programmemória elejétől) az órajel

szerint

Page 15: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.15

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Működés

Egy általános célú mikrovezérlő a reset esemény után a

következő lépéseket hajtja végre:

1. Minden periféria alaphelyzetbe állítása

2. A program lépéseinek végrehajtása a „reset

vektor”-tól (programmemória elejétől) az órajel

szerint

Page 16: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.16

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Reset

A reset esemény: a mikrovezérlő (újra)indítása

A reset esemény forrásai:

• Power-on reset (bekapcsolás)

• External reset (külső reset láb szintváltozása miatt)

• Watchdog system reset (őrkutya* miatt)

*Ezért a fordításért külön elnézést kérek

Page 17: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.17

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Program (Gépi kód)

• A gép által értelmezhető binárisan kódolt utasítások

sorozata

Forráskód

• Majd a programozásnál…

Page 18: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.18

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Órajel

• Mivel a mikrovezérlő egy digitális hálózat ezért a

működéséhez szükség van órajelre.

• Jelalak: négyszögjel

• mértékegysége: 1/s vagyis Hertz

• Tipikus nagyságrendje napjainkban: 1MHz-100MHz

Forrás Pontosság Költség

RC oszcillátor Alacsony Legolcsóbb

Kerámia rezonátor Közepes Olcsó

Rezgőkristály Magas Drága

Page 19: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.19

Mikrovezérlők felépítése, működése

Előadó: Budai Tamás

Órajel ciklus, ciklusidő

• Ciklusidő: Az órajel két egymást követő le/felfutó éle

közt eltelt idő (vagyis a négyszögjel periódusideje)

• Utasítások jellemzése: hány órajelciklus szükséges a

végrehajtáshoz

Pl.:

• Feltétel nélküli ugrás – 1 ciklus

• Összeadás – 2 ciklus

(Minél kevesebb, annál jobb)

Page 20: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.20

Tartalom

Előadó: Budai Tamás

Page 21: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.21

Mikrovezérlő típusok, gyártók

Előadó: Budai Tamás

Mikrovezérlők

Bitek száma

4 8 16 32

Memória / perifériák helye

Külső Belső

Utasításkészlet

RISC CISC

Page 22: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

Gyártók• Atmel

• Infineon

• Intel

• Microchip

• Motorola

• National Instruments

• Parallax

• Texas instruments

• Xilinx

• …

2015. 09. 09.22

Mikrovezérlő típusok, gyártók

Előadó: Budai Tamás

Page 23: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.23

Tartalom

Előadó: Budai Tamás

Page 24: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Tipikus perifériák– Digitális be/kimenetek

– A/D konverter

– D/A konverter

• Speciális perifériák– BUS illesztők*:

• SPI

• UART (RS232)

• I2C

• CAN

• …

– érintés-érzékelő– PWM kimenet

2015. 09. 09.24

Mikrovezérlők perifériái

Előadó: Budai Tamás

*Nem feltétlenül szükséges minden buszhoz (bitbang)

Mikrovezérlő

ALU CU

Memória

Perifériák

Órajel-generátor

Megszakítás kezelő

Page 25: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Digitális bemenet:

– Egy bemenet egy láb

– Egy bit reprezentálja a logikai szintet:

• 0 = alacsony

• 1 = magas

• Digitális kimenet:

– Egy kimenet egy láb

– Ugyan az, mint a bemenet, csak itt a bitet írjuk és

nem olvassuk

2015. 09. 09.25

Mikrovezérlők perifériái

Előadó: Budai Tamás

*Nem feltétlenül szükséges minden buszhoz (bitbang)

Page 26: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• A/D átalakító:– Bemenet

– Működés:

• Mintavételezés

• Kvantálás

– Jellemzői:

• Felbontás (hány bites)

• sebesség

– Az analóg jel amplitúdója a föld és egy referenciapotenciál közt értelmezett (ez általában a táfeszültség) és egy változóból kiolvasható

2015. 09. 09.26

Mikrovezérlők perifériái

Előadó: Budai Tamás

*Nem feltétlenül szükséges minden buszhoz (bitbang)

Page 27: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• D/A átalakító:– Kimenet

– Jellemzői:

• Felbontás (hány bites)

• sebesség

– Az analóg jel amplitúdója a föld és egy

referenciapotenciál közt értelmezett (ez általában a

táfeszültség)

– Logikája azonos az A/D-vel, csak itt beírjuk a kívánt

szintet és nem kiolvassuk

2015. 09. 09.27

Mikrovezérlők perifériái

Előadó: Budai Tamás

*Nem feltétlenül szükséges minden buszhoz (bitbang)

Page 28: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• BUSZ illesztők:

– Be/kimenet

– Annyi lábat használ, amennyit az adott BUSZ megkíván:

• Pl.: CLK, RX, TX

– Működését az adott BUSZ típusa határozza meg

– Tartozhat hozzá speciális memóriarész (pl. fogadó buffer)

2015. 09. 09.28

Mikrovezérlők perifériái

Előadó: Budai Tamás

*Nem feltétlenül szükséges minden buszhoz (bitbang)

Page 29: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.29

Tartalom

Előadó: Budai Tamás

Page 30: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.30

Mikrovezérlők programozása

Előadó: Budai Tamás

Program (Gépi kód)

• A gép által értelmezhető binárisan kódolt utasítások

sorozata

Forráskód

• Az egyszerűbb kezelhetőség érdekében adjunk rövid

nevet az egyes utasításoknak

• Ember által értelmezhető, gép által nem;

• Ahhoz, hogy futtatható legyen fordításra van

szükség!

Page 31: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.31

Mikrovezérlők programozása

Előadó: Budai Tamás

Forráskód

Fordító

Gépi kód101001011101010101010

Egy mikrovezérlő bármilyen nyelven programozható, ha van az adott nyelvhez és vezérlőhöz fordítóprogram.

Page 32: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Programnyelvek

– Alacsony szintű

• Assembly

– Magas szintű

• C, C++, FORTRAN, Pascal…

2015. 09. 09.32

Mikrovezérlők programozása

Előadó: Budai Tamás

Page 33: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Mikrovezérlők– Mikrovezérlők felépítése, működése

– Mikrovezérlő típusok, gyártók

– Mikrovezérlők perifériái

• Mikrovezérlők programozása– A C programozási nyelv (ismétlés)

– ATMEL AVR mikrovezérlők programozása

– Az ATMEL studio használata

– Feladatmegoldás

2015. 09. 09.33

Tartalom

Előadó: Budai Tamás

Page 34: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

• Alapok

• Változók, adattípusok

• Operátorok

• Elágazások, Feltételes utasítások

• Ciklusok

• Függvények

2015. 09. 09.34

A C programozási nyelv (ismétlés)

tartalom

Előadó: Budai Tamás

Page 35: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.35

A C programozási nyelv (ismétlés)

Alapok

Előadó: Budai Tamás

A forráskód:

• Egyszerű szövegfájl

• Ember által értelmezhető

• Utasítások sorozata

• Kötött formátum

Page 36: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.36

A C programozási nyelv (ismétlés)

Alapok

Előadó: Budai Tamás

Példa

Page 37: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.37

A C programozási nyelv (ismétlés)

Alapok

Előadó: Budai Tamás

#include direktíva:

• más forráskódrészeket tudunk beágyazni

• ezek erősen függenek a használt

környezettől

main() függvény:

• minden programban pontosan egy

darabnak kell lennie

• itt kezdődik a programunk végrehajtása

Page 38: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.38

A C programozási nyelv (ismétlés)

Változók, adattípusok

Előadó: Budai Tamás

A legkisebb egység: 1 bit

8 bit = 1 byte

B

B B B B B B B B

void „semmi” (ezt is jelölni kell valahogy)

bool logikai (igaz/hamis)

char egy karakter (1 byte)

int (előjeles) egész szám

unsigned int egész szám

float lebegőpontos szám

double dupla pontosságú float

string char-okból álló tömb

Változótípusok

Page 39: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.39

A C programozási nyelv (ismétlés)

Változók, adattípusok

Előadó: Budai Tamás

Példa

Page 40: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.40

A C programozási nyelv (ismétlés)

Változók, adattípusok

Előadó: Budai Tamás

Tömbök:

• Egy adott adattípusból álló több elemű

halmaz

• A memóriában folytonosan helyezkedik el

• A tömb méretét előre meg kell mondanunk*

Page 41: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.41

A C programozási nyelv (ismétlés)

Változók, adattípusok

Előadó: Budai Tamás

Tömbök:

• Egy adott adattípusból álló több elemű

halmaz

• A memóriában folytonosan helyezkedik el

• A tömb méretét előre meg kell mondanunk*

Page 42: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.42

A C programozási nyelv (ismétlés)

Operátorok

Előadó: Budai Tamás

Operátorok:

• Aritmetikai: + - * / % ( )

• Összehasonlító: == != < <= > >=

• Logikai: && || !

• Bitenkénti: & | ^ ~ << >>

• Helyben módosító: ++ -- += -= *= /= &= |=

• Egyéb: sizeof

Page 43: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.43

A C programozási nyelv (ismétlés)

Operátorok

Előadó: Budai Tamás

Példa

Page 44: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.44

A C programozási nyelv (ismétlés)

Elágazások, feltételes utasítások

Előadó: Budai Tamás

Elágazások:

• if, if-else

• switch case

Page 45: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.45

A C programozási nyelv (ismétlés)

Elágazások, feltételes utasítások

Előadó: Budai Tamás

If-else

Page 46: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.46

A C programozási nyelv (ismétlés)

Elágazások, feltételes utasítások

Előadó: Budai Tamás

Switch-case

Page 47: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.47

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

Ciklusok:

• for

• while

• do-while

• Ciklusvezérlés

Page 48: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.48

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

Tömörebben:

for

Page 49: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.49

A C programozási nyelv (ismétlés)

Elágazások, feltételes utasítások

Előadó: Budai Tamás

while

Page 50: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.50

A C programozási nyelv (ismétlés)

Elágazások, feltételes utasítások

Előadó: Budai Tamás

do-while

Page 51: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.51

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

Vezérlő utasítások:

• break

• continue

• return

Page 52: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.52

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

• break

Page 53: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.53

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

• break

Page 54: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.54

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

• continue

Page 55: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.55

A C programozási nyelv (ismétlés)

Ciklusok

Előadó: Budai Tamás

• return

Page 56: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.56

A C programozási nyelv (ismétlés)

Függvények

Előadó: Budai Tamás

Függvények

• mint a matematikában:

– paraméter, visszatérési érték

• programszervezésre használhatók

Példa: y = sin(x)

Page 57: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.57

A C programozási nyelv (ismétlés)

Függvények

Előadó: Budai Tamás

Példa

Page 58: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.58

A C programozási nyelv (ismétlés)

Összefoglalás

Előadó: Budai Tamás

Összefoglalás: A programozó „fegyvertára”

= + - * / % ( ) == != < <= > >= ++ -- += -=

*= /= &= |= sizeof bool int float [] {} ;

#include

Page 59: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.59

A C programozási nyelv (ismétlés)

Összefoglalás

Előadó: Budai Tamás

Mit hagytunk ki:

• előfordító direktívák, makrók

• mutatók, mutató aritmetika

• dinamikus memóriakezelés

• saját adattípusok, struktúrák

• függvénykönyvtárak

• hibakeresés

• …

Page 60: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/labor2-1.pdf · 1. ELŐADÁS. Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet

2015. 09. 09.60

A C programozási nyelv (ismétlés)

Összefoglalás

Előadó: Budai Tamás

Ajánlott irodalom:

• http://www.tutorialspoint.com/cprogramming/index.htm

• B. W. Kernighan - D. M. Ritchie : A C programozási nyelv