Iseseisev töö 3
Käivitada antud programm AVR
Studios ja jälgida programmi täitmist.
Iseseisvalt suurendada samamoodi viidet kasvatades viite pikkus ühe sekundini.
Laadida internetist alla viite generaator ja genereerida ühe sekundi pikkune viide ning võrrelda seda Näite 3 põhjal valmistatud ühe sekundi pikkuse viitega. Millised on olulised erinevused?
Üks võimalikest generaatoritest:
Selline tarkvaras realiseeritud
viide ei ole päris täpne, sest kui Viide1ms kutsub kaks korda välja viidet 500us,
täidetakse lisaks vajalikele lahutamistsüklitele, iga väljakutsumise ajal, rida
muid vajalikke käske nagu push, pop, call, ret. Need võtavad kõik natukene aega
ja kutsudes välja viidet 500us kaks korda saadakse tegelikult natukene pikem
viide kui 1ms. Sellist viidet saab teha ka täpseks, aga siis ei näe programmi
kood nii ilus välja, sest siis on vaja tsüklite pikkused täpselt välja arvutada
ning kui mõni mikrosekund jääb näiteks sajast mikrosekundist puudu, siis saab
need tekitada näiteks nop käsuga enne ret käsku. Samas kui tegu pole väga
ajakriitilise protsessiga või näiteks stopperiga, siis on see täpsus tihtipeale
vastuvõetav. Ajakriitiliste protsesside jaoks tarkvaraline viide ei sobi.