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 

LPC21xx proženje prekinitve

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



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4770
Aktiv.: 20.09
Kraj: Kobarid

PrispevekObjavljeno: Sob Dec 04, 2010 7:22 pm    Naslov sporočila:  LPC21xx proženje prekinitve Odgovori s citatom

Že 3. ure si razbijam glavo, kako bi izvedel števec obratov.
Zamislil sem si tako, da mi prekinitev na P0.20 (EINT3) proži senzot. Ta mi vklopi timer. Pri naslednji prekinitvi preberem vrednost timerja in izračunam obrate.
Teorija je lepa stvar. Praksa pa je drugačna.
Hec je v tem, da je prekinitev prožena non stop, ko je senzor na poziciji. Se pravi rad bi, da se mi prekinitev proži le enkrat in je onemogočena do naslednjega prehoda senzorja (prekinitve)
Kakšen predlog bi bil piva vreden..... Sad

_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.03
Kraj: Novo mesto

PrispevekObjavljeno: Sob Dec 04, 2010 7:28 pm    Naslov sporočila:   Odgovori s citatom

EXTMODE in EXTPOLAR registra? Če ti "non stop" proži EINT3 prekinitev.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4770
Aktiv.: 20.09
Kraj: Kobarid

PrispevekObjavljeno: Sob Dec 04, 2010 7:54 pm    Naslov sporočila:   Odgovori s citatom

Uh, ne poznam. Res bi te lepo prosil za kratko kodo, da proži samo ob prehodih skozi 0.
_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.03
Kraj: Novo mesto

PrispevekObjavljeno: Sob Dec 04, 2010 8:19 pm    Naslov sporočila:   Odgovori s citatom

Kaj pomeni prehod skozi 0? Think

Za EINT3 narediš inicializacijo na tak način:
Koda:

/* User manual == UM10139_2 */
/* Če želiš interrupt ob prehodu iz 0 na 1 */
EXTINT   |= (1 << 3); /* pobrišeš interupt (User manual str 29, odstavek 5.4, Note) */
EXTMODE  |= (1 << 3);   /* nastaviš edge sensitive interrupt (User manual str 30, Table 16) */
EXTPOLAR |= (1 << 3);  /* nastavi rising edge sensitive (User manual str 30, Table 17) */
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4770
Aktiv.: 20.09
Kraj: Kobarid

PrispevekObjavljeno: Sob Dec 04, 2010 8:34 pm    Naslov sporočila:   Odgovori s citatom

TNX
Sedaj mi deluje dosti bolje
Samo sedaj mi prekinitev proži iz prehoda 0 na 1 in iz 1 na 0.... No to se da za silo rešiti tudi z filtrom, da je vsaka druga prekinitev veljavna. Hvala za pomoč ! Ne bom pozabil na piva, če prideš kaj na pitnik!

_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.03
Kraj: Novo mesto

PrispevekObjavljeno: Sob Dec 04, 2010 8:45 pm    Naslov sporočila:   Odgovori s citatom

SimonS je napisal/a:
Samo sedaj mi prekinitev proži iz prehoda 0 na 1 in iz 1 na 0....
Hm... Z nastavitvami, kot sem jih podal, bi moralo prožiti samo iz 0 na 1. Sem sedaj še enkrat preveril in sem pravilno napisal.

Interrupt iz 0 na 1 in potem še iz 1 na 0 bi pomenil proženje interrupta na obe fronti, kar pa pri teh čipih sploh ni mogoče.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
RUros
Član
Član



Pridružen-a: Čet 09 Mar 2006 22:26
Prispevkov: 1031
Aktiv.: 4.38

PrispevekObjavljeno: Sob Dec 04, 2010 8:52 pm    Naslov sporočila:   Odgovori s citatom

Kako pa izvedeš prekinitev ? Ali simuliraš z gumbom, ker ti lahko kašen debounce nagaja in ti potem namesto ene prekinitve šteje več Rolling Eyes .
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4770
Aktiv.: 20.09
Kraj: Kobarid

PrispevekObjavljeno: Sob Dec 04, 2010 9:09 pm    Naslov sporočila:   Odgovori s citatom

Verjetno bo res krivec poplesavanje kontakta tipke. Bom jutri preizkusil z senzorjem. Sedaj pa res grem odpočiti možgane. Res hvala za pomoč!
_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Č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: 6 dni


Powered by phpBB © 2001, 2005 phpBB Group