Citat:
strš:
Ovo je podprogram koji pozivam svaki put kad treba da ispišem nešto na displeju s'tim da moram da ga pozivam češće ako želim da displej svetli intezivnije. Znam da mi govorite da radim sa interaptom ali nisam se još oprobao sa tim jer mislim da mi je za sada komplikovano. Čitam, ali još uvek ne shvatam.
gledas na mcu "pogresno" :)
glavna prednost MCU-a u odnosu na "procesor" je sto pored procesora sam MCU ima jos cudo raznog hw-a koji radi nezavisno od samog procesora tako da ti mozes da zadas tom hardweru da nesto radi dok ti radis nesto drugo ... na primer slanje bajta preko seriskog porta moze dugo da traje, posebno ako je komunikacija na niskoj brziji 2400 ili 9600 boda .. zato ako trosis serisku komunikaciju uzmes mcu koji ima hardwerski uart ... ti tom hardweru kazes "posalji ovaj bajt" i ti picis dalje a on salje bajt koliko mu treba da ga posalje ... ista prica za tajmer, ti setujes tajmer da te "zovne" svakih 5ms ili svakih 1ms ili svakih ... on te "zove" tako sto napravi "interrupt" ..
interrupt ti je lako da skontas.. imas jednu funkciju koja je "interrupt handler", kada god se desi neki interrupt procesor stane, baci na stek svoje sadasnje stanje i krene da izvrsava tu funkciju. Kada zavrsi sta je u toj funkciji vrati staro stanje sa steka i nastavi tacno tamo gde je bio prekinut. Ti sada u toj interapt rutini / interrupt hendleru / interrapt funkicji na pocetku pitas "koji te je interapt pozvao" (sta se to desilo) i u odnosu na to uradis sta god zelis da uradis. Ti na pocetku svog programa (ili u sredini ili ..) kazes koja sve desavanja ce da prave interapt i to je to ..
To ti je prosto objasnjenje, sa "jacim" mcu-ima mozes da imas vise nivoa interapta sa razlicitim prioritetima etc etc ali to te za pocetak ne zanima, za pocetak te samo zanima ovaj jedan, pa ces dalje lako ... inace cest termin na koji ces nailaziti je "interrapt vektor" a to je samo fancy naziv za adresu interapt funkcije
pogledaj one primere koje sam ti postavio, jako su jednostavni, nemoj da pravis gresku da na mcu gledas kao na cpu sto pravi vecina ljudi koji kao programeri pocinju sa hardwerom pa onda da bi odradili neke vrlo jednostavne stvari koriste razne RTOS-e koji im bloatuju vec vrlo lose napisan kod