CC13xx Driver Library
[gpio] General Purpose I/O

Functions

static uint32_t GPIO_readDio (uint32_t dioNumber)
 Reads a specific DIO. More...
 
static uint32_t GPIO_readMultiDio (uint32_t dioMask)
 Reads the input value for the specified DIOs. More...
 
static void GPIO_writeDio (uint32_t dioNumber, uint32_t value)
 Writes a value to a specific DIO. More...
 
static void GPIO_writeMultiDio (uint32_t dioMask, uint32_t bitVectoredValue)
 Writes masked data to the specified DIOs. More...
 
static void GPIO_setDio (uint32_t dioNumber)
 Sets a specific DIO to 1 (high). More...
 
static void GPIO_setMultiDio (uint32_t dioMask)
 Sets the specified DIOs to 1 (high). More...
 
static void GPIO_clearDio (uint32_t dioNumber)
 Clears a specific DIO to 0 (low). More...
 
static void GPIO_clearMultiDio (uint32_t dioMask)
 Clears the specified DIOs to 0 (low). More...
 
static void GPIO_toggleDio (uint32_t dioNumber)
 Toggles a specific DIO. More...
 
static void GPIO_toggleMultiDio (uint32_t dioMask)
 Toggles the specified DIOs. More...
 
static uint32_t GPIO_getOutputEnableDio (uint32_t dioNumber)
 Gets the output enable status of a specific DIO. More...
 
static uint32_t GPIO_getOutputEnableMultiDio (uint32_t dioMask)
 Gets the output enable setting of the specified DIOs. More...
 
static void GPIO_setOutputEnableDio (uint32_t dioNumber, uint32_t outputEnableValue)
 Sets output enable of a specific DIO. More...
 
static void GPIO_setOutputEnableMultiDio (uint32_t dioMask, uint32_t bitVectoredOutputEnable)
 Configures the output enable setting for all specified DIOs. More...
 
static uint32_t GPIO_getEventDio (uint32_t dioNumber)
 Gets the event status of a specific DIO. More...
 
static uint32_t GPIO_getEventMultiDio (uint32_t dioMask)
 Gets the event status of the specified DIOs. More...
 
static void GPIO_clearEventDio (uint32_t dioNumber)
 Clears the IO event status of a specific DIO. More...
 
static void GPIO_clearEventMultiDio (uint32_t dioMask)
 Clears the IO event status on the specified DIOs. More...
 

Detailed Description

The GPIO module allows software to control the pins of the device directly if the IOC module has been configured to route the GPIO signal to a physical pin (called DIO). Alternatively, pins can be hardware controlled by other peripheral modules. For more information about the IOC module, how to configure physical pins, and how to select between software controlled and hardware controlled, see the IOC API.

The System CPU can access the GPIO module to read the value of any DIO of the device and if the IOC module has been configured such that one or more DIOs are GPIO controlled (software controlled) the System CPU can write these DIOs through the GPIO module.

The IOC module can also be configured to generate events on edge detection and these events can be read and cleared in the GPIO module by the System CPU.

API

The API functions can be grouped like this:

Set and get direction of DIO (output enable):

Write DIO (requires IOC to be configured for GPIO usage):

Set, clear, or toggle DIO (requires IOC to be configured for GPIO usage):

Read DIO (even if IOC is NOT configured for GPIO usage; however, the DIO must be configured for input enable in IOC):

Read or clear events (even if IOC is NOT configured for GPIO usage; however, the DIO must be configured for input enable in IOC):

The IOC API provides two functions for easy configuration of DIOs as GPIO enabled using typical settings. They also serve as examples on how to configure the IOC and GPIO modules for GPIO usage:

Function Documentation

static void GPIO_clearDio ( uint32_t  dioNumber)
inlinestatic

Clears a specific DIO to 0 (low).

Parameters
dioNumberspecifies the DIO to clear (0-31).
Returns
None
See also
GPIO_clearMultiDio(), GPIO_setDio(), GPIO_setMultiDio()

Definition at line 340 of file gpio.h.

static void GPIO_clearEventDio ( uint32_t  dioNumber)
inlinestatic

Clears the IO event status of a specific DIO.

Parameters
dioNumberspecifies the DIO on which to clear the event status (0-31).
Returns
None
See also
GPIO_clearEventMultiDio(), GPIO_getEventDio(), GPIO_getEventMultiDio()

Definition at line 644 of file gpio.h.

Referenced by IOCIntClear().

static void GPIO_clearEventMultiDio ( uint32_t  dioMask)
inlinestatic

Clears the IO event status on the specified DIOs.

Parameters
dioMaskis the bit-mask representation of the DIOs on which to clear the events status. The parameter must be a bitwise OR'ed combination of the following:
Returns
None
See also
GPIO_clearEventDio(), GPIO_getEventDio(), GPIO_getEventMultiDio()

Definition at line 674 of file gpio.h.

static void GPIO_clearMultiDio ( uint32_t  dioMask)
inlinestatic

Clears the specified DIOs to 0 (low).

Parameters
dioMaskis the bit-mask representation of the DIOs to clear. The parameter must be a bitwise OR'ed combination of the following:
Returns
None
See also
GPIO_clearDio(), GPIO_setDio(), GPIO_setMultiDio()

Definition at line 369 of file gpio.h.

static uint32_t GPIO_getEventDio ( uint32_t  dioNumber)
inlinestatic

Gets the event status of a specific DIO.

Parameters
dioNumberspecifies the DIO to get the event status from (0-31).
Returns
Returns the current event status on the specified DIO.
  • 0 : Non-triggered event.
  • 1 : Triggered event.
See also
GPIO_getEventMultiDio(), GPIO_clearEventDio(), GPIO_clearEventMultiDio()

Definition at line 584 of file gpio.h.

Referenced by IOCIntStatus().

static uint32_t GPIO_getEventMultiDio ( uint32_t  dioMask)
inlinestatic

Gets the event status of the specified DIOs.

This function returns the event status for multiple DIOs. The value returned is not shifted and hence matches the corresponding dioMask bits.

Parameters
dioMaskis the bit-mask representation of the DIOs to get the event status from (0-31). The parameter must be a bitwise OR'ed combination of the following:
Returns
Returns a bit vector with the current event status correspondig to the specified DIOs.
  • 0 : Corresponding DIO has no triggered event.
  • 1 : Corresponding DIO has a triggered event.
See also
GPIO_getEventDio(), GPIO_clearEventDio(), GPIO_clearEventMultiDio()

Definition at line 619 of file gpio.h.

static uint32_t GPIO_getOutputEnableDio ( uint32_t  dioNumber)
inlinestatic

Gets the output enable status of a specific DIO.

This function returns the output enable status for the specified DIO. The DIO can be configured as either input or output under software control.

Parameters
dioNumberspecifies the DIO to get the output enable setting from (0-31).
Returns
Returns one of the enumerated data types (0 or 1):
See also
GPIO_getOutputEnableMultiDio(), GPIO_setOutputEnableDio(), GPIO_setOutputEnableMultiDio()

Definition at line 453 of file gpio.h.

static uint32_t GPIO_getOutputEnableMultiDio ( uint32_t  dioMask)
inlinestatic

Gets the output enable setting of the specified DIOs.

This function returns the output enable setting for multiple DIOs. The value returned is not shifted and hence matches the corresponding dioMask bits.

Parameters
dioMaskis the bit-mask representation of the DIOs to return the output enable settings from. The parameter must be a bitwise OR'ed combination of the following:
Returns
Returns the output enable setting for multiple DIOs as a bit vector corresponding to the dioMask bits.
  • 0 : Corresponding DIO is configured with output disabled.
  • 1 : Corresponding DIO is configured with output enabled.
See also
GPIO_getOutputEnableDio(), GPIO_setOutputEnableDio(), GPIO_setOutputEnableMultiDio()

Definition at line 487 of file gpio.h.

static uint32_t GPIO_readDio ( uint32_t  dioNumber)
inlinestatic

Reads a specific DIO.

Parameters
dioNumberspecifies the DIO to read (0-31).
Returns
Returns 0 or 1 reflecting the input value of the specified DIO.
See also
GPIO_readMultiDio(), GPIO_writeDio(), GPIO_writeMultiDio()

Definition at line 164 of file gpio.h.

static uint32_t GPIO_readMultiDio ( uint32_t  dioMask)
inlinestatic

Reads the input value for the specified DIOs.

This function returns the the input value for multiple DIOs. The value returned is not shifted and hence matches the corresponding dioMask bits.

Parameters
dioMaskis the bit-mask representation of the DIOs to read. The parameter must be a bitwise OR'ed combination of the following:
Returns
Returns a bit vector reflecting the input value of the corresponding DIOs.
  • 0 : Corresponding DIO is low.
  • 1 : Corresponding DIO is high.
See also
GPIO_readDio(), GPIO_writeDio(), GPIO_writeMultiDio()

Definition at line 198 of file gpio.h.

static void GPIO_setDio ( uint32_t  dioNumber)
inlinestatic

Sets a specific DIO to 1 (high).

Parameters
dioNumberspecifies the DIO to set (0-31).
Returns
None
See also
GPIO_setMultiDio(), GPIO_clearDio(), GPIO_clearMultiDio()

Definition at line 286 of file gpio.h.

static void GPIO_setMultiDio ( uint32_t  dioMask)
inlinestatic

Sets the specified DIOs to 1 (high).

Parameters
dioMaskis the bit-mask representation of the DIOs to set. The parameter must be a bitwise OR'ed combination of the following:
Returns
None
See also
GPIO_setDio(), GPIO_clearDio(), GPIO_clearMultiDio()

Definition at line 315 of file gpio.h.

static void GPIO_setOutputEnableDio ( uint32_t  dioNumber,
uint32_t  outputEnableValue 
)
inlinestatic

Sets output enable of a specific DIO.

This function sets the GPIO output enable bit for the specified DIO. The DIO can be configured as either input or output under software control.

Parameters
dioNumberspecifies the DIO to configure (0-31).
outputEnableValuespecifies the output enable setting of the specified DIO:
Returns
None
See also
GPIO_setOutputEnableMultiDio(), GPIO_getOutputEnableDio(), GPIO_getOutputEnableMultiDio()

Definition at line 518 of file gpio.h.

Referenced by IOCPinTypeGpioInput(), and IOCPinTypeGpioOutput().

static void GPIO_setOutputEnableMultiDio ( uint32_t  dioMask,
uint32_t  bitVectoredOutputEnable 
)
inlinestatic

Configures the output enable setting for all specified DIOs.

This function configures the output enable setting for the specified DIOs. The output enable setting must be shifted so it matches the corresponding dioMask bits. The DIOs can be configured as either an input or output under software control.

Note
Note that this is a read-modify-write operation and hence not atomic.
Parameters
dioMaskis the bit-mask representation of the DIOs on which to configure the output enable setting. The parameter must be a bitwise OR'ed combination of the following:
bitVectoredOutputEnableholds the output enable setting the corresponding DIO-bits:
  • 0 : Corresponding DIO is configured with output disabled.
  • 1 : Corresponding DIO is configured with output enabled.
Returns
None
See also
GPIO_setOutputEnableDio(), GPIO_getOutputEnableDio(), GPIO_getOutputEnableMultiDio()

Definition at line 558 of file gpio.h.

static void GPIO_toggleDio ( uint32_t  dioNumber)
inlinestatic

Toggles a specific DIO.

Parameters
dioNumberspecifies the DIO to toggle (0-31).
Returns
None
See also
GPIO_toggleMultiDio()

Definition at line 394 of file gpio.h.

static void GPIO_toggleMultiDio ( uint32_t  dioMask)
inlinestatic

Toggles the specified DIOs.

Parameters
dioMaskis the bit-mask representation of the DIOs to toggle. The parameter must be a bitwise OR'ed combination of the following:
Returns
None
See also
GPIO_toggleDio()

Definition at line 423 of file gpio.h.

static void GPIO_writeDio ( uint32_t  dioNumber,
uint32_t  value 
)
inlinestatic

Writes a value to a specific DIO.

Parameters
dioNumberspecifies the DIO to update (0-31).
valuespecifies the value to write
  • 0 : Logic zero (low)
  • 1 : Logic one (high)
Returns
None
See also
GPIO_writeMultiDio(), GPIO_readDio(), GPIO_readMultiDio()

Definition at line 226 of file gpio.h.

static void GPIO_writeMultiDio ( uint32_t  dioMask,
uint32_t  bitVectoredValue 
)
inlinestatic

Writes masked data to the specified DIOs.

Enables for writing multiple bits simultaneously. The value to write must be shifted so it matches the corresponding dioMask bits.

Note
Note that this is a read-modify-write operation and hence not atomic.
Parameters
dioMaskis the bit-mask representation of the DIOs to write. The parameter must be a bitwise OR'ed combination of the following:
bitVectoredValueholds the value to be written to the corresponding DIO-bits.
Returns
None
See also
GPIO_writeDio(), GPIO_readDio(), GPIO_readMultiDio()

Definition at line 262 of file gpio.h.

Macro Definition Documentation

#define GPIO_DIO_0_MASK   0x00000001

Definition at line 102 of file gpio.h.

#define GPIO_DIO_10_MASK   0x00000400

Definition at line 112 of file gpio.h.

#define GPIO_DIO_11_MASK   0x00000800

Definition at line 113 of file gpio.h.

#define GPIO_DIO_12_MASK   0x00001000

Definition at line 114 of file gpio.h.

#define GPIO_DIO_13_MASK   0x00002000

Definition at line 115 of file gpio.h.

#define GPIO_DIO_14_MASK   0x00004000

Definition at line 116 of file gpio.h.

#define GPIO_DIO_15_MASK   0x00008000

Definition at line 117 of file gpio.h.

#define GPIO_DIO_16_MASK   0x00010000

Definition at line 118 of file gpio.h.

#define GPIO_DIO_17_MASK   0x00020000

Definition at line 119 of file gpio.h.

#define GPIO_DIO_18_MASK   0x00040000

Definition at line 120 of file gpio.h.

#define GPIO_DIO_19_MASK   0x00080000

Definition at line 121 of file gpio.h.

#define GPIO_DIO_1_MASK   0x00000002

Definition at line 103 of file gpio.h.

#define GPIO_DIO_20_MASK   0x00100000

Definition at line 122 of file gpio.h.

#define GPIO_DIO_21_MASK   0x00200000

Definition at line 123 of file gpio.h.

#define GPIO_DIO_22_MASK   0x00400000

Definition at line 124 of file gpio.h.

#define GPIO_DIO_23_MASK   0x00800000

Definition at line 125 of file gpio.h.

#define GPIO_DIO_24_MASK   0x01000000

Definition at line 126 of file gpio.h.

#define GPIO_DIO_25_MASK   0x02000000

Definition at line 127 of file gpio.h.

#define GPIO_DIO_26_MASK   0x04000000

Definition at line 128 of file gpio.h.

#define GPIO_DIO_27_MASK   0x08000000

Definition at line 129 of file gpio.h.

#define GPIO_DIO_28_MASK   0x10000000

Definition at line 130 of file gpio.h.

#define GPIO_DIO_29_MASK   0x20000000

Definition at line 131 of file gpio.h.

#define GPIO_DIO_2_MASK   0x00000004

Definition at line 104 of file gpio.h.

#define GPIO_DIO_30_MASK   0x40000000

Definition at line 132 of file gpio.h.

#define GPIO_DIO_31_MASK   0x80000000

Definition at line 133 of file gpio.h.

#define GPIO_DIO_3_MASK   0x00000008

Definition at line 105 of file gpio.h.

#define GPIO_DIO_4_MASK   0x00000010

Definition at line 106 of file gpio.h.

#define GPIO_DIO_5_MASK   0x00000020

Definition at line 107 of file gpio.h.

#define GPIO_DIO_6_MASK   0x00000040

Definition at line 108 of file gpio.h.

#define GPIO_DIO_7_MASK   0x00000080

Definition at line 109 of file gpio.h.

#define GPIO_DIO_8_MASK   0x00000100

Definition at line 110 of file gpio.h.

#define GPIO_DIO_9_MASK   0x00000200

Definition at line 111 of file gpio.h.

#define GPIO_OUTPUT_DISABLE   0x00000000

Definition at line 143 of file gpio.h.

Referenced by GPIO_setOutputEnableDio(), and IOCPinTypeGpioInput().

#define GPIO_OUTPUT_ENABLE   0x00000001

Definition at line 144 of file gpio.h.

Referenced by GPIO_setOutputEnableDio(), and IOCPinTypeGpioOutput().