33 #ifndef __GPIO_11XX_2_H_
34 #define __GPIO_11XX_2_H_
47 #if defined(CHIP_LPC11CXX) || defined(CHIP_LPC110X) || defined(CHIP_LPC11XXLV) || defined(CHIP_LPC1125)
71 void Chip_GPIO_Init(LPC_GPIO_T *pGPIO);
78 void Chip_GPIO_DeInit(LPC_GPIO_T *pGPIO);
90 pGPIO[port].DATA[1 << bit] = setting << bit;
104 pGPIO[port].DATA[1 <<
pin] = setting <<
pin;
117 return (
bool) ((pGPIO[port].DATA[1 << bit] >> bit) & 1);
130 return (pGPIO[port].DATA[1 <<
pin]) != 0;
144 void Chip_GPIO_WriteDirBit(LPC_GPIO_T *pGPIO,
uint32_t port,
uint8_t bit,
bool setting);
155 pGPIO[port].DIR |= (1UL <<
pin);
167 pGPIO[port].DIR &= ~(1UL <<
pin);
178 void Chip_GPIO_SetPinDIR(LPC_GPIO_T *pGPIO,
uint8_t port,
uint8_t pin,
bool output);
190 return (
bool) (((pGPIO[port].DIR) >> bit) & 1);
202 return (
bool) (pGPIO[port].DIR >>
pin) & 1;
228 pGPIO[port].DIR |= pinMask;
242 pGPIO[port].DIR &= ~pinMask;
255 void Chip_GPIO_SetPortDIR(LPC_GPIO_T *pGPIO,
uint8_t port,
uint32_t pinMask,
bool outSet);
267 return pGPIO[port].DIR;
279 pGPIO[port].DATA[0xFFF] = value;
290 return pGPIO[port].DATA[0xFFF];
305 pGPIO[port].DATA[bit] = bit;
319 pGPIO[port].DATA[pins] = 0xFFF;
333 pGPIO[port].DATA[1 <<
pin] = (1 <<
pin);
347 pGPIO[port].DATA[bit] = ~bit;
361 pGPIO[port].DATA[pins] = 0;
375 pGPIO[port].DATA[1 <<
pin] = 0;
389 pGPIO[port].DATA[pins] ^= 0xFFF;
403 pGPIO[port].DATA[1 <<
pin] ^= (1 <<
pin);
416 return pGPIO[port].DATA[4095];
428 pGPIO[port].IS &= ~pinmask;
440 pGPIO[port].IS |= pinmask;
455 return pGPIO[port].IS;
467 pGPIO[port].IBE |= pinmask;
479 pGPIO[port].IBE &= ~pinmask;
496 return pGPIO[port].IBE;
510 pGPIO[port].IEV |= pinmask;
524 pGPIO[port].IEV &= ~pinmask;
539 return pGPIO[port].IEV;
551 pGPIO[port].IE |= pinmask;
563 pGPIO[port].IE &= ~pinmask;
574 return pGPIO[port].IE;
585 return pGPIO[port].RIS;
596 return pGPIO[port].MIS;
608 pGPIO[port].IC = pinmask;
615 GPIO_INT_ACTIVE_LOW_LEVEL = 0x0,
616 GPIO_INT_ACTIVE_HIGH_LEVEL = 0x1,
617 GPIO_INT_FALLING_EDGE = 0x2,
618 GPIO_INT_RISING_EDGE = 0x3,
619 GPIO_INT_BOTH_EDGES = 0x6
630 void Chip_GPIO_SetupPinInt(LPC_GPIO_T *pGPIO,
uint8_t port,
uint8_t pin, GPIO_INT_MODE_T mode);