Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC16 kada se pojave interapti u isto vreme

[es] :: Elektronika :: Mikrokontroleri :: PIC16 kada se pojave interapti u isto vreme

[ Pregleda: 3354 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maricc
Dusan Maric
penzioner
Rakovac

Član broj: 89909
Poruke: 136
*.dynamic.sbb.co.yu.



Profil

icon PIC16 kada se pojave interapti u isto vreme14.02.2007. u 20:05 - pre 209 meseci

Nigde da nadjem, pa ako neko zna neka podeli s nama koji neznamo...
Kod PIC16... mikrokontrolera, kada nastupe nekoliko interapta u isto vreme ili u vreme dok se izvrsava ISR za onog koji je prvi nastupio, sta se desava dalje? Da li su ostali zahtevi za interapt izgubljeni, ili cekaju red, ili trebamo nesto uraditi da ne izgubimo ostale zahteve za interapt?
Ako neko ima link, gde da procitam nesto u vezi ovoga bio bih zahvalan.

Dusan
 
Odgovor na temu

16f84
Slovenia

Član broj: 75520
Poruke: 59
89.142.17.*

Sajt: www.elektronik.si


Profil

icon Re: PIC16 kada se pojave interapti u isto vreme14.02.2007. u 20:49 - pre 209 meseci
Kad dođe do interupta kad se več on izvršava odmah iza konca(retfie) izvede se ponovno interupt.
Priuritet zavisi od toga kako je pisana rutina koja proverava koji interup se je desio.


Primer imamo ukopčan INTF i TMR0 prekid

Code:

             org 0x4
             goto IRQ

             org 0x5
    IRQ
          movwf WTMP         ;shrani se W register  
          swapf STATUS,W
          movwf STMP          ;shrani se STAUS register
          clrf STATUS           ;
          btfsc INTCON,T0IF  ;je došlo do TMR0 interupta ?  
          goto TMR_IRQ         ; da skok na rutino koja se treba izvršiti kot TMRO interuta
   IRQ2
          btfsc INTCON,INTF   ;je došlo do INTF interupta? 
          goto INT_IRQ          ; da skok na rutino koja se izvede kot INTF interupta
   END_IRQ
          swapf STMP,W
          movwf STATUS       ;vratimo STATUS
          swapf WTMP,f
          swapf WTMP,W       ;vratim W
           retfie                    ;izlazak iz interupta


    TMR_IRQ
           ............
           ............
           bcf INTCON,T0IF    ;brisanje flaga prekida TMR0
           goto IRQ2  

    INTF_IRQ
           .............      
           .............
           bcf INTCON,INIF     ;brisanje INTF flaga
           goto END_IRQ



U ovom primeru je prioritetni TMR0 interupt.


 
Odgovor na temu

maricc
Dusan Maric
penzioner
Rakovac

Član broj: 89909
Poruke: 136
*.dynamic.sbb.co.yu.



Profil

icon Re: PIC16 kada se pojave interapti u isto vreme14.02.2007. u 21:24 - pre 209 meseci
Citat:
16f84: Kad dođe do interupta kad se več on izvršava odmah iza konca(retfie) izvede se ponovno interupt.


Ovo me narocito zanima. Sto znaci, zahtev za interrupt ceka sve dok ...... cek' malo....???
Kazes izvede se ponovo interapt? Nije mi sve bas jasno sada, a mislio sam da jeste.
Jel' to znaci da brisanjem flaga, njemu znaci nema vise interapta ? Ili ?
Sta ce biti ako novi interapt nastupi na labeli recimo END_IRQ, a u servisnoj rutini na pocetku stavimo DI ?
Sve mi je ovo nekako smuckano tako da nisam siguran.

Hvala na brzom odgovoru 16f84 ! Primer je veoma koristan.


Dusan


[Ovu poruku je menjao maricc dana 15.02.2007. u 00:09 GMT+1]
 
Odgovor na temu

maricc
Dusan Maric
penzioner
Rakovac

Član broj: 89909
Poruke: 136
*.dynamic.sbb.co.yu.



Profil

icon Re: PIC16 kada se pojave interapti u isto vreme17.02.2007. u 20:46 - pre 209 meseci

16f84 ,
da li je potrebno u tvom primeru pre labele staviti instrukciju DI?
Drugo , sta ce se desiti ako naredni interupt nastupi recimo iza labele END_IRQ ?

Dusan
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.dialup.neobee.net.



+10 Profil

icon Re: PIC16 kada se pojave interapti u isto vreme17.02.2007. u 22:49 - pre 209 meseci
Dok traje jedan inerupt, neće se preći na drugi pre nego se završi sa prvim. Ako se teoretski pojave dva interupta u isto vreme, kontroler će krenuti na onaj sa višim prioritetom. U jenom kontroleru ne postoje dva interupta istog prioriteta.
__*__
*___*
 
Odgovor na temu

maricc
Dusan Maric
penzioner
Rakovac

Član broj: 89909
Poruke: 136
*.dynamic.sbb.co.yu.



Profil

icon Re: PIC16 kada se pojave interapti u isto vreme17.02.2007. u 23:27 - pre 209 meseci
_str_ . logicnije mi je ono sto je napisao 16f84" da prioritete odredjujemo sami u int. serv. rutini. To je jasno, nego , glavno pitanje je sta ce se desiti ako interapt naidje bas usred int.serv. rutine, a u njoj smo zabranili interapte dok se ona ne izvrsi sto se cesto radi? Verovatno ce biti trajno izgubljen ili ce flag za taj interapt biti ukljucen .... e sta sad biva?
Da li se nakon "retfie" desi ponovo interapt ili ne?

Dusan
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
212.200.180.*



+10 Profil

icon Re: PIC16 kada se pojave interapti u isto vreme18.02.2007. u 12:18 - pre 209 meseci
A da ti lepo odradis simulaciju korak po korak u MPLAB-u i jos malo nesto procitas o kontroleru koji te interesuje?
__*__
*___*
 
Odgovor na temu

maricc
Dusan Maric
penzioner
Rakovac

Član broj: 89909
Poruke: 136
*.dynamic.sbb.co.yu.



Profil

icon Re: PIC16 kada se pojave interapti u isto vreme18.02.2007. u 17:05 - pre 209 meseci

Citat:
_str_: A da ti lepo odradis simulaciju korak po korak u MPLAB-u i jos malo nesto procitas o kontroleru koji te interesuje?


Kada bi svi sve procitali i simulirali, ovaj forum nebi nikome ni trebao. Ja nailazim i na jos gluplja pitanja, pa ako znam ja odgovorim, to je dobra volja, niko nikog ne prisiljava da mu kaze ono sto zna. Na kraju cu i tako i tako saznati ono sto me zanima. Hvala na odgovoru!

Dusan
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC16 kada se pojave interapti u isto vreme

[ Pregleda: 3354 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.