Yahoo Groups archive

Lpc2000

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

Message

Re: lpc2103 user's manual

2006-01-24 by Langosta39

A final User's Manual is available on the Philips website for the 
new 2101, 2, and 3.  It still has this error in it, though.  Thanks 
to apex_olsen for telling me about the new doc.

Andy

--- In lpc2000@yahoogroups.com, "Langosta39" <ahuska@a...> wrote:
>
> I discovered the problem.  I was setting the power control 
register 
> so only the timers were enabled, but there is a major error in the 
> prelim user's manual.  After some sleep and further investigation 
I 
> think the problem is simply that Table 24 and Table 26 in the 
prelim 
> User's Manual dated Dec 2, 2005 are wrong.  The power-on/reset 
> default for PCONP is 0x00c8179e (not as shown in Table 24) and the 
> Timer 2 and Timer 3 PCONP bits are 22 and 23 respectively (not as 
> shown in Table 26).  So, I was setting and clearing the wrong bits 
> in in the PCONP register and shutting down T2 and T3.  I've got 
> everything running correctly now though.  I am using IAR, but I 
> checked my memory map against yours, so thanks for sending it to 
me.
> 
> Andy
> 
> --- In lpc2000@yahoogroups.com, "Doug Collins" <dougc@h...> wrote:
> >
> > 
> > >Is anyone else out there using the 2103?  I've got the
> > >prelim user's manual and previously I've found a number
> > >of minor errors, but now I can't seem to get Timer2 and
> > >Timer3 working, and I think its due to the documentation. 
Writing 
> to 
> > >the indicated addresses does nothing, and reading back is 
always> 
> zero.  
> > >Does anyone have register information that is new than Dec 2, 
> 2005?
> > 
> > I'm using the 2103 and currently have all 4 timers running. 
Timers 
> 2 and 3
> > do not work with Keil's simulator but they run just fine on the 
> Keil dev
> > board.  
> > 
> > I created my own register definitions since the LPC210x.h
> > file supplied by Keil was missing timers 2 and 3 along with
> > a lot of other things.  
> > 
> > Here's what I'm using:
> > 
> > /* Timer 2 */
> > #define T2IR           (*((volatile unsigned long *) 0xE0070000))
> > #define T2TCR          (*((volatile unsigned long *) 0xE0070004))
> > #define T2TC           (*((volatile unsigned long *) 0xE0070008))
> > #define T2PR           (*((volatile unsigned long *) 0xE007000C))
> > #define T2PC           (*((volatile unsigned long *) 0xE0070010))
> > #define T2MCR          (*((volatile unsigned long *) 0xE0070014))
> > #define T2MR0          (*((volatile unsigned long *) 0xE0070018))
> > #define T2MR1          (*((volatile unsigned long *) 0xE007001C))
> > #define T2MR2          (*((volatile unsigned long *) 0xE0070020))
> > #define T2MR3          (*((volatile unsigned long *) 0xE0070024))
> > #define T2CCR          (*((volatile unsigned long *) 0xE0070028))
> > #define T2CR0          (*((volatile unsigned long *) 0xE007002C))
> > #define T2CR1          (*((volatile unsigned long *) 0xE0070030))
> > #define T2CR2          (*((volatile unsigned long *) 0xE0070034))
> > #define T2CR3          (*((volatile unsigned long *) 0xE0070038))
> > #define T2EMR          (*((volatile unsigned long *) 0xE007003C))
> > #define T2CTCR         (*((volatile unsigned long *) 0xE0070070))
> > #define PWM2CON        (*((volatile unsigned long *) 0xE0070074))
> > 
> > 
> > /* Timer 3 */
> > #define T3IR           (*((volatile unsigned long *) 0xE0074000))
> > #define T3TCR          (*((volatile unsigned long *) 0xE0074004))
> > #define T3TC           (*((volatile unsigned long *) 0xE0074008))
> > #define T3PR           (*((volatile unsigned long *) 0xE007400C))
> > #define T3PC           (*((volatile unsigned long *) 0xE0074010))
> > #define T3MCR          (*((volatile unsigned long *) 0xE0074014))
> > #define T3MR0          (*((volatile unsigned long *) 0xE0074018))
> > #define T3MR1          (*((volatile unsigned long *) 0xE007401C))
> > #define T3MR2          (*((volatile unsigned long *) 0xE0074020))
> > #define T3MR3          (*((volatile unsigned long *) 0xE0074024))
> > #define T3CCR          (*((volatile unsigned long *) 0xE0074028))
> > #define T3CR0          (*((volatile unsigned long *) 0xE007402C))
> > #define T3CR1          (*((volatile unsigned long *) 0xE0074030))
> > #define T3CR2          (*((volatile unsigned long *) 0xE0074034))
> > #define T3CR3          (*((volatile unsigned long *) 0xE0074038))
> > #define T3EMR          (*((volatile unsigned long *) 0xE007403C))
> > #define T3CTCR         (*((volatile unsigned long *) 0xE0074070))
> > #define PWM3CON        (*((volatile unsigned long *) 0xE0074074))
> > 
> > 
> > Doug Collins
> > 
> > 
> >  
> > 
> > 
> > Doug
> >
>

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.