Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: External Interrupt

2004-06-07 by Rodrigo Cesar da Silva Martins

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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.