Sorry for the SETBITS....they are defines. SETBIT1=0x02 and SETBIT15=0x8000 (as you said) (try to remember what number have to be ORed with your register just to set your 26th bit and you'll see that this is very useful)... I'm using LPC2129. According to the User Manual bits 7:6 = 11 sets EINT1 for P0.3..so we have 0xC0. EXTMODE is the External Mode Register... Selects if I'll have a level or edge sensitive interrupt ( I've set to have an edge sensitive). Well how do I know that I'm receiving the RDY? An osciloscope...:-)) I'm running with a ULINK debugger and according to the simulator, the EINT1 bit from EXTINT register is set...this means that interrupt flag is set but the routine was not called... About the assembly and compilers I completely agree with you...I've always had problems with PIC compilers ( especially CCS) and thanks to my knowledge on PIC assembly language I could solve problems, but in this case if I could work in a higher level, better, if not... --- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...> wrote: > At 06:17 PM 6/7/04 +0000, you wrote: > >I'm using the BlinkIRQ startup example. One line of the file is: > > > > LDR PC, [PC, #-0x0FF0] /* Vector from VicVectAddr */ > > That's what I was referring to. I just want to verify. Lets take a closer > look. > > > >this is the address 0x18...Well I think that, when a interrupt > >occurs, my program goes to address 0x18, which redirects to the > >address loaded in the VICVectAddr... In the Blink example just the > >VIC and TIMER0 register are adjusted...I'm a begginer with the ARM > >Arquitecture, and I don't have time now to learn ARM or THUMB > >Assembly, maybe after this project I can study more, now I need to > >solve all problems ACAP ( As C As Possible ) :-) > > Every time It's bitten me I've found I would have saved much more time > simply learning a little of the MCU assembly language concerned. I've > stopped considering the compilers proprietary interrupt keywords helpful :) > > > --- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...> > >wrote: > > > At 05:02 PM 6/7/04 +0000, you wrote: > > > >signal. I'm supposed to use it as an ExtInt...I did the following > > > >setup sequence: > > > > > > I'm assuming you are using a 2104/5/6? > > > > >EXTMODE = SETBIT1;//Interrupção na borda de descida > > Two questions. What's EXTMODE? and What's SETBIT1? > > > > >PINSEL0 |= 0x000000C0;//P0.3 ajustado para EINT1 > > Shouldn't this be something more like > > PINSEL0 |= 0x20000000; > > I believe you've set P0.3 to a reserved state. > > > > >VICVectAddr0 =(unsigned long)ADISR; //redireciona vetor para > >função > > > >VICVectCntl0 = 0x20 | 15; //Seta vetor de interrupção para INT1 > > > >VICIntEnable = SETBIT15; //Habilita interrupção INT1 > > What is SETBIT15? (0x8000 maybe?) > > I'd suspect the setting of PINSEL0. > > More questions. How do you know if the external interrupt was responded > to? And if it only responded once how likely are you to miss it? > > Robert > > > " 'Freedom' has no meaning of itself. There are always restrictions, > be they legal, genetic, or physical. If you don't believe me, try to > chew a radio signal. " > > Kelvin Throop, III
Message
Re: External Interrupt
2004-06-07 by Rodrigo Cesar da Silva Martins
Attachments
- No local attachments were found for this message.