Keil Logo

Peripheral Simulation

For NXP (founded by Philips) LPC2146 — General Purpose Input/Output (GPIO0-1)

Simulation support for this peripheral or feature is comprised of:

  • Dialog boxes which display and allow you to change peripheral configuration.
  • VTREGs (Virtual Target Registers) which support I/O with the peripheral.

These simulation capabilities are described below.

General Purpose Input/Output 0 (GPIO0) Dialog

General Purpose Input/Output 0 (GPIO0)

The General Purpose Input/Output 0 (GPIO 0) Dialog controls the direction of the general purpose port 0 pins. You may use the following controls to select and configure the external interrupt settings.

GPIO0 Group

  • IO0DIR (Input Output Direction Register) contains the direction assignments for each I/O port bit. The checkboxes are checked for output and unchecked for input.
  • IO0SET (Input Output Set Register) bits are checked to force a high level for a that port bit during output.
  • IO0CLR (Input Output Clear Register) bits are checked to force a low level for a that port bit during output.
  • IO0PIN (Input Output Pin Value Register) contains the current condition of the GPIO 0 pins.
  • Pins is used to manually control a pin value.

General Purpose Input/Output 1 (GPIO1) Dialog

General Purpose Input/Output 1 (GPIO1)

The General Purpose Input/Output 1 (GPIO 1) Dialog controls the direction of the general purpose port 1 pins. You may use the following controls to select and configure the external interrupt settings.

GPIO1 Group

  • IO1DIR (Input Output Direction Register) contains the direction assignments for each I/O port bit. The checkboxes are checked for output and unchecked for input.
  • IO1SET (Input Output Set Register) bits are checked to force a high level for a that port bit during output.
  • IO1CLR (Input Output Clear Register) bits are checked to force a low level for a that port bit during output.
  • IO1PIN (Input Output Pin Value Register) contains the current condition of the GPIO 1 pins.
  • Pins is used to manually control a pin value.

PORTx VTREG
Data Type: unsigned long

The PORTx VTREGs represent the I/O pins of the simulated MCU for Port A, Port B, and so on. PORTA represents Port A, PORTB represents Port B, etc. You may read PORTx to determine the state of the output pins of that port. For example, in the command window you may type,

PORTA

to obtain value corresponding to the set pins of Port A. You may also change the input values of port pins by changing the value of the VTREG. For example,

PORTA=0x000000F0

sets the upper four port pins of Port A to a value of 1 and all other port pins to a value of 0. You may use the bitwise operators AND(&), OR(|) and XOR(^) to change individual bits of the PORTx VTREGs. For example:

PORTA |=  0x00000001;  /* Set PA0 Pin */
PORTB &= ~0x00000200;  /* Clr PB9 Pin */
PORTA ^=  0x00800000;  /* Toggle PA23 Pin */
Get more information about the
Peripheral Simulation Capabilities
of the µVision Debugger.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.