www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Prekinitve

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
pegla
Član
Član



Pridružen-a: Sob 01 Nov 2003 17:32
Prispevkov: 284
Aktiv.: 1.20
Kraj: Sv.Anton

PrispevekObjavljeno: Pon Feb 12, 2007 10:21 pm    Naslov sporočila:  Prekinitve Odgovori s citatom

Imam za večino zelo bedasto uprašanje.

Kdaj se odločiš za prekinitev v programu in zakaj?

Kot začetnik na področju programiranja PIC-ov na odgovor si ne vem odgovoriti.

Do sedaj prekinitev nisem uporabljal čeprav sem naredil kakih 30 programčkov
delujočih med mjimi tudi par okoli 1000 vrstic.

Precej sem pregledal tudi forum in nekaj literature pa nisen mogel izbrati iz teksta,
ki so napisana.



L.P.Pegla
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
cero
Član
Član



Pridružen-a: Čet 31 Jul 2003 17:37
Prispevkov: 1179
Aktiv.: 4.98
Kraj: vipava

PrispevekObjavljeno: Pon Feb 12, 2007 10:49 pm    Naslov sporočila:   Odgovori s citatom

Hm recimo imaš operacijski sistem na računalniku kateri se izvaja.Ko premakneš miško,se program prekine,izvajati pa se začne prekinitveni program. Ta beleži kam se miška premika in tja premika tudi kurzor na zaslonu.Ko se miška ustavi se tudi ta prekinitveni program ustavi in se izvajanje operacijskega sistema nadaljuje tam kjer je bilo prekinjeno.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Feb 12, 2007 11:11 pm    Naslov sporočila:  Re: Prekinitve Odgovori s citatom

pegla je napisal/a:
Imam za večino zelo bedasto uprašanje.

Kdaj se odločiš za prekinitev v programu in zakaj?

Kot začetnik na področju programiranja PIC-ov na odgovor si ne vem odgovoriti.

Do sedaj prekinitev nisem uporabljal čeprav sem naredil kakih 30 programčkov
delujočih med mjimi tudi par okoli 1000 vrstic.

Precej sem pregledal tudi forum in nekaj literature pa nisen mogel izbrati iz teksta,
ki so napisana.



L.P.Pegla

O prekinitvah je na forumu bilo že dosti napisanega. (o PIC-u sem sam dosti pisal) Uporabi iskanje.

Čisto na kratko kako je pri picih:
Pri večina pic-ih je reset vektor na lokaciji 0x0 Od tam tudi začnemo izvajati glavni program. Prekinitveni vektor pa je na lokaciji 0x04
Kaj pravzaprav prekininitev je:
Kot že samo ime pove "nekaj" se prekine. Torej v primeru da imamo vključeno določeno prekinitev se izvede sledeče: Izvajanje določenega programa se prekine. V sklad se shrane trenutni programski števec. Program se postavi na prekinitveni vektor 0x04. Običajno imamo tam napisan skok "GOTO" na prekinitveno rutino kjer ugotovavljamo vrsto prekinitve, če seveda imamo vključenih več prekinitev.
Pred tem je pametno shraniti W ter STATUS register v nek register, ki je dostopnen na vseh bankah. Prekinitvena rutina se zaključi z RETFIE. Pred tem je dobro vrniti shranjene vrednosti STATUS ter W registra. Po RETFIE se iz sklada se vrne PC (program se nadaljuje od mesta kjer je bil prekinjen)
Toliko na kratko. Sicer so prekinitve zelo lepo opisane v datashetih posameznega mikrokontrolerja.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2104
Aktiv.: 8.88
Kraj: Ljubljana

PrispevekObjavljeno: Tor Feb 13, 2007 12:03 am    Naslov sporočila:   Odgovori s citatom

Prekinitve so za uC podobno kot je telefonski ali hišni zvonec zate.

Recimo, da si doma in pričakuješ obisk.
-Če nimaš nič bolj pametnega za početi, lahko čakaš pred vrati. Vendar dokler obisk ne pride, ne moreš početi nič drugega.
-Če moraš med čakanjem na obisk še npr. pomiti posodo, lahko vsakič, preden v roke vzameš nov kos posode preveriš, če je kdo pred vrati. Če je to preverjanje redko tvegaš, da se bo obisk naveličal čakati in odšel. Če preverjaš prepogosto, si občutno podaljšal čas pomivanja posode.
-Najboljša rešitev je, če obiskovalec pritisne na zvonec (sproži prekinitev).

Prekinitev ti zagotavlja dosti bolj definiran odzivni čas in ne troši procesorjevega časa za nepotrebna preverjanja.

Prekinitev lahko spoži zunanji dogodek (prejet znak po RS232, sprememba stanja na pinu), ali procesor sam (prelitje časovnika, končan vpis v EEPROM, iztek WDT periode...).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 16.01

PrispevekObjavljeno: Tor Feb 13, 2007 12:36 am    Naslov sporočila:   Odgovori s citatom

Ali je bil med temi programi že kakšen program za uro? Ali števec s -seg prikazovalniki?

No, s prekinitvami se takšne stvari krmili, da gredo "kot ur'ca".
Vsaka Daljša zakasnitev je s prekinitvami dolga natanko toliko, kot je potrebno, brez zamudnega štetja ciklov.
Tukaj je: malo teorije .
Tukaj pa: Prekinitev v vsakem drugem primeru.
LP,
Igor

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
pegla
Član
Član



Pridružen-a: Sob 01 Nov 2003 17:32
Prispevkov: 284
Aktiv.: 1.20
Kraj: Sv.Anton

PrispevekObjavljeno: Tor Feb 13, 2007 9:27 pm    Naslov sporočila:   Odgovori s citatom

Res najlepša hvala za odgovore. Very Happy Very Happy

Sedaj se mi je posvetilo kdaj naj uporabljam prekinitve, saj sem že prišel do takih problemov kot jih je napisal int47, pa sem z programom precej motovilil da sem ga speljal.Časovne zakasnitve sem pa delal na način "zaposlovanja " uC. :bonk:

Sedaj verjtno bo programiranje lažje.

L.P.Pegla
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group