Program which demonstrates the usage of the IOCONFIG & GPIO peripherals. Program only blinks the LED based on the push of the button embedded on the LPC4088 QSB. Blinking is done using the primitive delay function which only makes microprocessor busy for some time. Source code is split - we keep register definitions in header files away from the main source file.

Dependencies:   mbed

LPC4088-gpio.h

Committer:
71GA
Date:
2015-05-02
Revision:
1:6eac03db3e22
Parent:
0:f527456a69f2

File content as of revision 1:6eac03db3e22:

//definicija registrov za periferijo GPIO

//GPIO
#define DIR0           (*((volatile unsigned int *) 0x20098000))    //Port0
#define MASK0          (*((volatile unsigned int *) 0x20098010))
#define PIN0           (*((volatile unsigned int *) 0x20098014))
#define SET0           (*((volatile unsigned int *) 0x20098018))
#define CLR0           (*((volatile unsigned int *) 0x2009801C))

#define DIR1           (*((volatile unsigned int *) 0x20098020))    //Port1
#define MASK1          (*((volatile unsigned int *) 0x20098030))
#define PIN1           (*((volatile unsigned int *) 0x20098034))
#define SET1           (*((volatile unsigned int *) 0x20098038))
#define CLR1           (*((volatile unsigned int *) 0x2009803C))

#define DIR2           (*((volatile unsigned int *) 0x20098040))    //Port2
#define MASK2          (*((volatile unsigned int *) 0x20098050))
#define PIN2           (*((volatile unsigned int *) 0x20098054))
#define SET2           (*((volatile unsigned int *) 0x20098058))
#define CLR2           (*((volatile unsigned int *) 0x2009805C))

#define DIR3           (*((volatile unsigned int *) 0x20098060))    //Port3
#define MASK3          (*((volatile unsigned int *) 0x20098070))
#define PIN3           (*((volatile unsigned int *) 0x20098074))
#define SET3           (*((volatile unsigned int *) 0x20098078))
#define CLR3           (*((volatile unsigned int *) 0x2009807C))

#define DIR4           (*((volatile unsigned int *) 0x20098080))    //Port4
#define MASK4          (*((volatile unsigned int *) 0x20098090))
#define PIN4           (*((volatile unsigned int *) 0x20098094))
#define SET4           (*((volatile unsigned int *) 0x20098098))
#define CLR4           (*((volatile unsigned int *) 0x2009809C))

#define DIR5           (*((volatile unsigned int *) 0x200980A0))    //Port5
#define MASK5          (*((volatile unsigned int *) 0x200980B0))
#define PIN5           (*((volatile unsigned int *) 0x200980B4))
#define SET5           (*((volatile unsigned int *) 0x200980B8))
#define CLR5           (*((volatile unsigned int *) 0x200980BC))


//GPIO interrupts
#define int_STATUS     (*((volatile unsigned int *) 0x40028080))
#define int_STATR0     (*((volatile unsigned int *) 0x40028084))
#define int_STATF0     (*((volatile unsigned int *) 0x40028088))
#define int_CLR0       (*((volatile unsigned int *) 0x4002808C))
#define int_ENR0       (*((volatile unsigned int *) 0x40028090))
#define int_ENF0       (*((volatile unsigned int *) 0x40028094))
#define int_STATR2     (*((volatile unsigned int *) 0x400280A4))
#define int_STATF2     (*((volatile unsigned int *) 0x400280A8))
#define int_CLR2       (*((volatile unsigned int *) 0x400280AC))
#define int_ENR2       (*((volatile unsigned int *) 0x400280B0))
#define int_ENF2       (*((volatile unsigned int *) 0x400280B4))