Event vs. Interupt

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Xbunt
Stály člen
Stály člen
Príspevky: 242
Dátum registrácie: 08 Máj 2014, 23:09
Bydlisko: Nam. Sv. Martina 24, Lipany

Event vs. Interupt

Príspevok od používateľa Xbunt » 13 Okt 2017, 05:47

Dobry den.
Dokazal by mi niekto vysvetlit, aky je hardverovy rozdiel medzi Eventom a Interuptom?
Vo ziadnom katalogovom liste od STM32 som to nenasiel.

Napriklad Citac vyvola udalost:
- Interupt - odskoci z hlavneho programu na rutinu
- DMA - z pamate si vytiahne pozadovane udaje a nastavy si svoje registre.
- Event - ? Urcite zdvihne vlajku v registri ze prebehol Event od citaca. Ale to robi aj Interupt, ked je zakazane prerusenie.

Dakujem
0

Používateľov profilový obrázok
niki31
Stály člen
Stály člen
Príspevky: 172
Dátum registrácie: 05 Feb 2010, 00:00
Bydlisko: Žilinský kraj
Vek: 49

Re: Event vs. Interupt

Príspevok od používateľa niki31 » 14 Okt 2017, 17:54

INTERRUPT - je prerušenie procesora môže byť hardwarové alebo softwarové. Pri vyvolani prerušenia sa preruší vykonavanie programu, skočí sa na obsluhu prerušenia, ktorá musí začínať na presne určenej adrese. Po ukončení obsluhy sa pokračuje opäť vo vykonávaní programu presne na mieste kde sa vykonávanie programu prerušilo.

Event - je udalosť. Udalosť može byť takisto hardwarová alebo softwarová. Je to napr. zhoda čísla v CCP module, vypršanie časovača, stlačenie tlačítka. To ako bude obslúžená je len na programátorovi, udalosť môže obslužiť vlastnou rutinou,prerušením alebo nechať bez povšimnutia. Obsluha sa môže nachádzať kdekoľvek v pamäti.

Príklad: v CCP module sa porovnávajú čísla, pri zhode nastáva udalosť "ZHODA" tá nastaví príznak podľa ktorého procesor vie že nastala udalosť.
Ak je modul nastavený na vyvolanie prerušenia, preruší sa program a skočí sa na adresu vektora prerušenia kde sa nachádza program ktorý vykoná čo je potrebné. Ak nieje prerušenie povolené potom musí program periodicky ohmatávať príznak, ak sa zistí že bol príznak nastavený môže vyvolať podprogram pre obsluhu a pod.

Hlavný rozdiel je aj v rýchlosti a dĺžke obsluhy. V prerušení musí byť obsluha čo najkratšia, je veľmi rýchla a hlavne synchrónna. Kdežto obsluha udalosti môže byť ľubovoľne dlhá, kdekoľvek v pamäti a jej vykonanie býva spravidla relatívne asynchrónne.
0
Niki31

Xbunt
Stály člen
Stály člen
Príspevky: 242
Dátum registrácie: 08 Máj 2014, 23:09
Bydlisko: Nam. Sv. Martina 24, Lipany

Re: Event vs. Interupt

Príspevok od používateľa Xbunt » 14 Okt 2017, 21:57

Diky
0

Napísať odpoveď