Keskeytykset, Interruptus
Pollauksessa : koodi suorittaa (ikuista) silmukkaa
• josta se käy tarkastamassa ovatko tietyn koodin
suoritusehdot täyttyneet,
• jos ovat niin ohjelma suorittaa ko. ohjelman,
• jos ei, niin ko. koodia ei suoriteta vaan tarkastetaan
välittömästi seuraava ehto.
int main(void)
{
while(P3&0x01==0);
while(P3&0x01)
{
if(P1&0x30&&P3&0x10)
P1=P1|0x80;
else
P1=P1&DF;
while(P3&0x10) ;
}
P1=0x00; P3=0x00;
}
Toiminta:
• Prosessori käy lukemassa oheislaitteen tiedot ennalta
ohjelmoidussa paikassa.
• Ohjelmoija sijoittaa kutsun omaan lukufunktioon (pää)
ohjelmaan tarvitsemiinsa paikkoihin.
Soveltuvuus:
– Pollaaminen soveltuu lähinnä muuttuvan tiedon lukemiseen,
kun luettavan arvon tapahtuma-ajalla ei ole merkitystä (esim.
lämpötilan muuttuminen).
Arvo jatkuvasti saatavilla.
• Analogia: (Postin hakeminen)
– Hoidat kaupungilla omia asioitasi ja aina kun tulet
postinkohdalle (tai muuten siltä tuntuu) käyt tarkistamassa
postitoimistosta onko sinulle tullut postia

Keskeytyspohjaiset järjestelmät
• Keskeytyspohjaisessa järjestelmässä koodi on sijoitettu keskeytyspalveluihin.
• Keskeytyksen aiheuttaa joko jokin ulkoinen tapahtuma, tai sisäinen kello (periodinen keskeytys).
• Keskeytyspalveluosoitteet on sijoitettu keskeytysvektoritaulukkoon.
• Keskeytyksillä on yleensä prioriteetit
– pienimmällä keskeytysvektoritaulukon järjestysnumerolla on suurin prioriteetti.
• Keskeytykseen mentäessä koko prosessorin tila talletetaan pinoon.
Aikakeskeytys
Toiminta:
• Kellopiiri ohjelmoidaan tuottamaan keskeytys tietyn ajan kuluttua. Prosessori käy lukemassa oheislaitteen tiedot
aina keskeytyksen sattuessa. Keskeytysväli riippuu luettavan tiedon luonteesta.
Soveltuvuus:
– Trendikäyrien piirtäminen analogisesta arvosta
• Analogia: (Postin hakeminen)
– Laitat kellon soimaan joka puolen tunnin kuluttua. Aina kun
kello soi lopetat sen mitä olet tekemässä ja menet postiin
tarkistamaan onko sinulle tullut postia

Keskeytysrutiini
Rutiinin yleisrakenne
• Havaitse keskeytys
• Suorita loppuun mahdolliset kesken olevat käskyt
• Peru mahdolliset muut ohjelmatilan muutokset
• Talleta ohjelman tila
• Suorita keskeytyskäsittely
• Palauta ohjelmatila ja poistu
Laitekeskeytys
Toiminta:
• Oheispiiri ohjelmoidaan tuottamaan keskeytys aina kun sillä on tarjottavaa (pää)ohjelmalle.
Soveltuvuus:
• Satunnaisten tapahtumien lukeminen
• Nopeaa käsittelyä vaativat tapahtumat
• Kun luettavan tiedon tapahtumahetkellä on merkitys
Analogia: (Postin hakeminen)
• Annat postin tarkkailun virkailijan tehtäväksi ja pyydät häntä soittamaan sinulle kun postisi saapuu. Nyt voit
huoletta hoitaa omia asioitasi.
