You need to check U1IIR (Interrupt Identification Register) and not U1LSR (Line Status Register). Also Bit 0 of IIR is 1 if there is no interrupt pending. Richard. nonuckingfumber wrote: > I have a strange problem. > > I am using a vectored IRQ on UART1. Sometimes I boot the application > and it works fine. Other times I boot it and it locks up on the IRQ > vector handler, that is it keeps re-entering the IRQ handler and never > process the 'main loop'. > > On Entry to the IRQ handler, VICIRQStatus=0x80, indicating Uart1, but > the U1LSR register is 0 (most of the time, regular int's also occur). > I am writing 0 to the VICVectAddr at the end of the routine, and like > I said, sometimes it works fine. > > Is there some condition where it is possible to have a U1 interuppt > when U1LSR=0? > > > > > > ------------------------------------------------------------------------ > YAHOO! GROUPS LINKS > > * Visit your group "lpc2000 > <http://groups.yahoo.com/group/lpc2000>" on the web. > > * To unsubscribe from this group, send an email to: > lpc2000-unsubscribe@yahoogroups.com > <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe> > > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of > Service <http://docs.yahoo.com/info/terms/>. > > > ------------------------------------------------------------------------ >
Message
Re: [lpc2000] U1 IRQ works too well (sometimes)
2006-01-10 by Richard Duits
Attachments
- No local attachments were found for this message.