Zunanji prekinitev na lpc 2148

M

mbshank

Guest
Pozdravljeni, jaz sem delo z LPC2148.I so uporabili EXTINT1 in P0.14 za zunanje interrupt.On reset koda izvede ISR namesto da bi moral ostati na glavni program.Can kdo povedal, kaj bi bil problem main () {while ( 1) {ISR_INT (); / / kadar pride do prekinitev bi morala teči ISR. Shiv} Hvala.
 
U r ne bi smel poklicati Interrupt Service Rutinski funkcijo v glavni program ... Treba bi bilo izven glavnega programa ..... Običajno program tok začeti iz katerega glavna funkcija [bo opravljanje te naloge, in sicer v katerega glavna funkcija ].... Ko pride do prekinitve, bo premor normalna naloga [v glavnem funkcija], in da bo to posebno nalogo, ki se imenuje v prekinejo storitev rutinsko .... Po končani posebna naloga bo prišel nazaj na glavno učinkovino, če je zaustavljeno .....
 
U r ne bi smel poklicati Interrupt Service Rutinski funkcijo v glavni program ... Treba bi bilo izven glavnega programa ..... Običajno program tok začeti iz katerega glavna funkcija [bo opravljanje te naloge, in sicer v katerega glavna funkcija ].... Ko pride do prekinitve, bo premor normalna naloga [v glavnem funkcija], in da bo to posebno nalogo, ki se imenuje v prekinejo storitev rutinsko .... Po končani posebna naloga bo prišel nazaj na glavno funkcijo, če je zaustavljeno .....
Hvala za vaš odgovor sem, da bo. Shiv.
 
Poskušal sem ga initializing ISR izven funkcije main, vendar spet ON reset ISR izvaja in potem pride hrbet funkcijo glavni in potem naprej svoj ki dela lep, kako lahko izognili temu problem. Shiv
 
Ni problema sploh .... Treba je všeč, da je le .... Po končani ISR [prekiniti Service Rutinska] je prišel nazaj na glavno funkcijo ..... Bi u povej mi, kaj je ur zahteva ....
 
Hvala za vaš odgovor Moj problem je, da imam nekaj časa (set == 1); zanke v mojem ISR in ostane tam za stanje mentioned.What želim, je, da mora ISR izvrši šele, ko EXTINT1 occurs.ON ponastavite tam tudi ostane v ISR in nisem mogel zagnati kodo iz moje MAIN.Please mi pomaga. Shiv
 
ok ... Razumem ur problem .... Ko pride do prekinitev ne glede u biti 2 do samo naredi to v glavni funkciji ... V ISR si nastavite eno zastavo, ko pride do prekinitve .... V [glavna funkcija], medtem ko (1) samo poglejte, ko se zastava res ali ne .... Če je zastava je res [Flag je res samo takrat, ko pride do prekinitve] storiti vse dejavnosti .....
 
HI kandhu26 # include ext_interrupt neveljaven (ničen) __irq {izumrli = 0X02; / * Clear prekinitev zastava * / printlcd ("Yes"); VICVectAddr = 0x00000000; / * Potrditev Interrupt * /} nična init_ext (void) {PINSEL0 | = 0X20000000 ; / * omogočajo EXT1 * / EXTMODE = 0X02, občutljiva / * rob * / EXTPOLAR = 0X02; / * o rasti rob * / VICVectAddr0 = (unsigned int) ext_interrupt; / * Set Interrupt Vector v = 0 * / VICVectCntl0 0x0000002F; / * Uporabljajte ga za EXT1 * Interrupt / VICIntEnable = 0x00008000; / * lahko EXT1 prekiniti * /} int main (void) {init_lcd (); init_ext (), medtem ko (1) {printlcd ("NE");}} Ta moja kodo vsakič, ko sem reset ISR je najprej izvršiti Ex: prikazal, kot "da" (oznaka ISR) in potem izvede glavno kodo, ki prikaže "ne" Kaj hočem storiti, je do prekinitve pride bi morala ostati v glavni program. , sem se potrudil z vstavitvijo zastave na i ISR ampak spet sem se soočajo z isto težavo. hvala & zadeva Shiv
 

Welcome to EDABoard.com

Sponsor

Back
Top