MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
IOPCTL: Input/Output Pad Controller

Files

file  fsl_iopctl.h
 

Data Structures

struct  iopctl_group_t
 Array of IOPCTL pin definitions passed to IOPCTL_SetPinMuxing() must be in this format. More...
 

Macros

#define IOPCTL_FUNC0   0x0
 IOPCTL function and mode selection definitions. More...
 
#define IOPCTL_FUNC1   0x1
 Selects pin function 1.
 
#define IOPCTL_FUNC2   0x2
 Selects pin function 2.
 
#define IOPCTL_FUNC3   0x3
 Selects pin function 3.
 
#define IOPCTL_FUNC4   0x4
 Selects pin function 4.
 
#define IOPCTL_FUNC5   0x5
 Selects pin function 5.
 
#define IOPCTL_FUNC6   0x6
 Selects pin function 6.
 
#define IOPCTL_FUNC7   0x7
 Selects pin function 7.
 
#define IOPCTL_FUNC8   0x8
 Selects pin function 8.
 
#define IOPCTL_FUNC9   0x9
 Selects pin function 9.
 
#define IOPCTL_FUNC10   0xA
 Selects pin function 10.
 
#define IOPCTL_FUNC11   0xB
 Selects pin function 11.
 
#define IOPCTL_FUNC12   0xC
 Selects pin function 12.
 
#define IOPCTL_FUNC13   0xD
 Selects pin function 13.
 
#define IOPCTL_FUNC14   0xE
 Selects pin function 14.
 
#define IOPCTL_FUNC15   0xF
 Selects pin function 15.
 
#define IOPCTL_PUPD_EN   (0x1 << 4)
 Enables Pullup / Pulldown.
 
#define IOPCTL_PULLDOWN_EN   (0x0 << 5)
 Selects pull-down function.
 
#define IOPCTL_PULLUP_EN   (0x1 << 5)
 Selects pull-up function.
 
#define IOPCTL_INBUF_EN   (0x1 << 6)
 Enables buffer function on input.
 
#define IOPCTL_SLEW_RATE   (0x0 << 7)
 Slew Rate Control.
 
#define IOPCTL_FULLDRIVE_EN   (0x1 << 8)
 Selects full drive.
 
#define IOPCTL_ANAMUX_EN   (0x1 << 9)
 Enables analog mux function by setting 0 to bit 7.
 
#define IOPCTL_PSEDRAIN_EN   (0x1 << 10)
 Enables pseudo output drain function.
 
#define IOPCTL_INV_EN   (0x1 << 11)
 Enables invert function on input.
 

Functions

__STATIC_INLINE void IOPCTL_PinMuxSet (IOPCTL_Type *base, uint8_t port, uint8_t pin, uint32_t modefunc)
 Sets I/O Pad Control pin mux. More...
 
__STATIC_INLINE void IOPCTL_SetPinMuxing (IOPCTL_Type *base, const iopctl_group_t *pinArray, uint32_t arrayLength)
 Set all I/O Control pin muxing. More...
 

Driver version

#define LPC_IOPCTL_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
 IOPCTL driver version 2.0.0. More...
 

Detailed Description

The MCUXpresso SDK provides a peripheral driver for the Input/Output Pad Controller.

The IOPCTL, working in conjunction with the PIMCTL, enables the chip to share one pad for multiple signals from different peripheral interfaces.


Data Structure Documentation

struct iopctl_group_t

Macro Definition Documentation

#define LPC_IOPCTL_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
#define IOPCTL_FUNC0   0x0
Note
See the User Manual for specific modes and functions supported by the various pins.Selects pin function 0

Function Documentation

__STATIC_INLINE void IOPCTL_PinMuxSet ( IOPCTL_Type *  base,
uint8_t  port,
uint8_t  pin,
uint32_t  modefunc 
)
Parameters
base: The base of IOPCTL peripheral on the chip
port: Port to mux
pin: Pin to mux
modefunc: OR'ed values of type IOPCTL_*
Returns
Nothing
__STATIC_INLINE void IOPCTL_SetPinMuxing ( IOPCTL_Type *  base,
const iopctl_group_t pinArray,
uint32_t  arrayLength 
)
Parameters
base: The base of IOPCTL peripheral on the chip
pinArray: Pointer to array of pin mux selections
arrayLength: Number of entries in pinArray
Returns
Nothing