LPCOpen Platform for LPC18XX/43XX microcontrollers
18XX43XX
LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers
Main Page
Modules
Data Structures
Files
File List
Globals
software
lpc_core
lpc_chip
chip_18xx_43xx
gpio_18xx_43xx.c
Go to the documentation of this file.
1
/*
2
* @brief LPC18xx/43xx GPIO driver
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2013
6
* All rights reserved.
7
*
8
* @par
9
* Software that is described herein is for illustrative purposes only
10
* which provides customers with programming information regarding the
11
* LPC products. This software is supplied "AS IS" without any warranties of
12
* any kind, and NXP Semiconductors and its licensor disclaim any and
13
* all warranties, express or implied, including all implied warranties of
14
* merchantability, fitness for a particular purpose and non-infringement of
15
* intellectual property rights. NXP Semiconductors assumes no responsibility
16
* or liability for the use of the software, conveys no license or rights under any
17
* patent, copyright, mask work right, or any other intellectual property rights in
18
* or to any products. NXP Semiconductors reserves the right to make changes
19
* in the software without notification. NXP Semiconductors also makes no
20
* representation or warranty that such application will be suitable for the
21
* specified use without further testing or modification.
22
*
23
* @par
24
* Permission to use, copy, modify, and distribute this software and its
25
* documentation is hereby granted, under NXP Semiconductors' and its
26
* licensor's relevant copyrights in the software, without fee, provided that it
27
* is used in conjunction with NXP Semiconductors microcontrollers. This
28
* copyright, permission, and disclaimer notice must appear in all copies of
29
* this code.
30
*/
31
32
#include "
chip.h
"
33
34
/*****************************************************************************
35
* Private types/enumerations/variables
36
****************************************************************************/
37
38
/*****************************************************************************
39
* Public types/enumerations/variables
40
****************************************************************************/
41
42
/*****************************************************************************
43
* Private functions
44
****************************************************************************/
45
46
/*****************************************************************************
47
* Public functions
48
****************************************************************************/
49
50
/* Initialize GPIO block */
51
void
Chip_GPIO_Init
(
LPC_GPIO_T
*pGPIO)
52
{
53
}
54
55
/* De-Initialize GPIO block */
56
void
Chip_GPIO_DeInit
(
LPC_GPIO_T
*pGPIO)
57
{
58
}
59
60
/* Set a GPIO direction */
61
void
Chip_GPIO_WriteDirBit
(
LPC_GPIO_T
*pGPIO, uint32_t port, uint8_t bit,
bool
setting)
62
{
63
if
(setting) {
64
pGPIO->
DIR
[port] |= 1UL << bit;
65
}
66
else
{
67
pGPIO->
DIR
[port] &= ~(1UL << bit);
68
}
69
}
70
71
/* Set Direction for a GPIO port */
72
void
Chip_GPIO_SetDir
(
LPC_GPIO_T
*pGPIO, uint8_t portNum, uint32_t bitValue, uint8_t out)
73
{
74
if
(out) {
75
pGPIO->
DIR
[portNum] |= bitValue;
76
}
77
else
{
78
pGPIO->
DIR
[portNum] &= ~bitValue;
79
}
80
}
81
82
/* Set GPIO direction for a single GPIO pin */
83
void
Chip_GPIO_SetPinDIR
(
LPC_GPIO_T
*pGPIO, uint8_t port, uint8_t pin,
bool
output)
84
{
85
if
(output) {
86
Chip_GPIO_SetPinDIROutput
(pGPIO, port, pin);
87
}
88
else
{
89
Chip_GPIO_SetPinDIRInput
(pGPIO, port, pin);
90
}
91
}
92
93
/* Set GPIO direction for a all selected GPIO pins to an input or output */
94
void
Chip_GPIO_SetPortDIR
(
LPC_GPIO_T
*pGPIO, uint8_t port, uint8_t pinMask,
bool
outSet)
95
{
96
if
(outSet) {
97
Chip_GPIO_SetPortDIROutput
(pGPIO, port, pinMask);
98
}
99
else
{
100
Chip_GPIO_SetPortDIRInput
(pGPIO, port, pinMask);
101
}
102
}
Generated on Fri Feb 20 2015 21:29:42 for LPCOpen Platform for LPC18XX/43XX microcontrollers by
1.8.3.1