I never used IOPIN to set pins. I only use it to read status. This doesn't mean that it is not possible. But it is a good practice to ise IOCLR and IOSET because you are accessing the latches of the pins directly. Consider this, IOPIN=IOPIN|1; this will happen as read-medefy-write now, when you read IOPIN, you are reading the actual state of the pin and if for some reason a load on that pin that caused it to be in the wrong state (it is 1 but was read as 0) that means after read-medify-write, the pin that you didn't want to change got changed. So, only use IOPIN to write not to read-modefy-write, safer. Gus --- In lpc2000@yahoogroups.com, "Aalt Lokhorst" <lokhorst@s...> wrote: > Hello All, > > In the Philips document 'UM_LPC21XX_LPC22XX_2.pdf' on page 137 I read: > > Applications that require instanatneous appearance of zeros and ones > on the respected parallel port can use direct access to port's > corresponding GPIO Pin Value Register (IOPIN). > Assuming that pins P0.8 to P0.15 are configured as output, write to > IO0PIN: > > IO0PIN = 0x0000 C700 > > will produce the same output as following sequence of writes: > > IO0SET = 0x0000 C700 > IO0CLR = 0x0000 3800 > > Solution utilizing access to IO0SET and IO0CLR will take more steps > compared to a single IO0PIN write access. > > The same document shows on page 135 that IO#PIN is a ReadOnly register. > > Am I missing something, how can you write to a ReadOnly register? > > Best Regards, > > -- ============================== > Aalt Lokhorst > Schut Geometrische Meettechniek bv > Duinkerkenstraat 21 > 9723 BN Groningen > P.O. Box 5225 > 9700 GE Groningen > The Netherlands > Tel: +31-50-5877877 > Fax: +31-50-5877899 > E-mail: Lokhorst@S... > ==============================
Message
Re: Writing to IOPIN on LPC21xx possible?
2005-01-04 by Gus
Attachments
- No local attachments were found for this message.