nrfx 3.3
Modules | Data Structures | Macros | Typedefs | Enumerations | Functions
GPIOTE driver

GPIO Task Event (GPIOTE) peripheral driver. More...

Modules

 GPIOTE peripheral driver configuration
 

Data Structures

struct  nrfx_gpiote_t
 Data structure of the GPIO tasks and events (GPIOTE) driver instance. More...
 
struct  nrfx_gpiote_task_config_t
 Structure for configuring a GPIOTE task. More...
 
struct  nrfx_gpiote_output_config_t
 Structure for configuring an output pin. More...
 
struct  nrfx_gpiote_trigger_config_t
 Structure for configuring pin interrupt/event. More...
 
struct  nrfx_gpiote_handler_config_t
 Structure for configuring a pin interrupt handler. More...
 
struct  nrfx_gpiote_input_config_t
 
struct  nrfx_gpiote_input_pin_config_t
 Structure for configuring an input pin. More...
 

Macros

#define NRFX_GPIOTE_INSTANCE(id)
 Macro for creating an instance of the GPIOTE driver.
 
#define NRFX_GPIOTE_DEFAULT_OUTPUT_CONFIG
 Output pin default configuration.
 
#define NRFX_GPIOTE_APP_CHANNELS_MASK(idx)
 Bitfield representing all GPIOTE channels available to the application for the specified GPIOTE instance.
 
#define NRFX_GPIOTE_INST_HANDLER_GET(idx)   NRFX_CONCAT_3(nrfx_gpiote_, idx, _irq_handler)
 Macro returning GPIOTE interrupt handler.
 
#define NRFX_GPIOTE_DEFAULT_PULL_CONFIG   NRF_GPIO_PIN_NOPULL
 Input pin pull default configuration.
 

Typedefs

typedef uint32_t nrfx_gpiote_pin_t
 Pin.
 
typedef void(* nrfx_gpiote_interrupt_handler_t) (nrfx_gpiote_pin_t pin, nrfx_gpiote_trigger_t trigger, void *p_context)
 Pin interrupt handler prototype.
 

Enumerations

enum  nrfx_gpiote_trigger_t {
  NRFX_GPIOTE_TRIGGER_NONE ,
  NRFX_GPIOTE_TRIGGER_LOTOHI = GPIOTE_CONFIG_POLARITY_LoToHi ,
  NRFX_GPIOTE_TRIGGER_HITOLO ,
  NRFX_GPIOTE_TRIGGER_TOGGLE ,
  NRFX_GPIOTE_TRIGGER_LOW ,
  NRFX_GPIOTE_TRIGGER_HIGH ,
  NRFX_GPIOTE_TRIGGER_MAX
}
 Triggering options. More...
 

Functions

bool nrfx_gpiote_in_is_set (nrfx_gpiote_pin_t pin)
 Function for checking if a GPIOTE input pin is set.
 
nrfx_err_t nrfx_gpiote_init (nrfx_gpiote_t const *p_instance, uint8_t interrupt_priority)
 Function for initializing the GPIOTE driver instance.
 
bool nrfx_gpiote_init_check (nrfx_gpiote_t const *p_instance)
 Function for checking if the GPIOTE driver instance is initialized.
 
void nrfx_gpiote_uninit (nrfx_gpiote_t const *p_instance)
 Function for uninitializing the GPIOTE driver instance.
 
nrfx_err_t nrfx_gpiote_channel_alloc (nrfx_gpiote_t const *p_instance, uint8_t *p_channel)
 Function for allocating a GPIOTE channel.
 
nrfx_err_t nrfx_gpiote_channel_free (nrfx_gpiote_t const *p_instance, uint8_t channel)
 Function for freeing a GPIOTE channel.
 
nrfx_err_t nrfx_gpiote_input_configure (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin, nrfx_gpiote_input_pin_config_t const *p_config)
 Function for configuring the specified input pin and input event/interrupt.
 
nrfx_err_t nrfx_gpiote_output_configure (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin, nrfx_gpiote_output_config_t const *p_config, nrfx_gpiote_task_config_t const *p_task_config)
 Function for configuring the specified output pin to be used by the driver.
 
nrfx_err_t nrfx_gpiote_pin_uninit (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for deinitializing the specified pin.
 
void nrfx_gpiote_trigger_enable (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin, bool int_enable)
 Function for enabling trigger for the given pin.
 
void nrfx_gpiote_trigger_disable (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for disabling trigger for the given pin.
 
void nrfx_gpiote_global_callback_set (nrfx_gpiote_t const *p_instance, nrfx_gpiote_interrupt_handler_t handler, void *p_context)
 Set global callback called for each event.
 
nrfx_err_t nrfx_gpiote_channel_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin, uint8_t *p_channel)
 Function for retrieving Task/Event channel index associated with the given pin.
 
uint32_t nrfx_gpiote_channels_number_get (nrfx_gpiote_t const *p_instance)
 Function for retrieving number of channels for specified GPIOTE instance.
 
void nrfx_gpiote_out_set (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for setting a GPIOTE output pin.
 
void nrfx_gpiote_out_clear (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for clearing a GPIOTE output pin.
 
void nrfx_gpiote_out_toggle (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for toggling a GPIOTE output pin.
 
void nrfx_gpiote_out_task_enable (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for enabling a GPIOTE output pin task.
 
void nrfx_gpiote_out_task_disable (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for disabling a GPIOTE output pin task.
 
nrf_gpiote_task_t nrfx_gpiote_out_task_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the OUT task for the specified output pin.
 
uint32_t nrfx_gpiote_out_task_address_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the address of the OUT task for the specified output pin.
 
nrf_gpiote_task_t nrfx_gpiote_set_task_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the SET task for the specified output pin.
 
uint32_t nrfx_gpiote_set_task_address_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the address of the SET task for the specified output pin.
 
nrf_gpiote_task_t nrfx_gpiote_clr_task_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the CLR task for the specified output pin.
 
uint32_t nrfx_gpiote_clr_task_address_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the address of the SET task for the specified output pin.
 
nrf_gpiote_event_t nrfx_gpiote_in_event_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the GPIOTE event for the specified input pin.
 
uint32_t nrfx_gpiote_in_event_address_get (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for getting the address of a GPIOTE input pin event.
 
void nrfx_gpiote_out_task_force (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin, uint8_t state)
 Function for forcing a specific state on the pin configured as task.
 
void nrfx_gpiote_out_task_trigger (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for triggering the task OUT manually.
 
void nrfx_gpiote_set_task_trigger (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for triggering the task SET manually.
 
void nrfx_gpiote_clr_task_trigger (nrfx_gpiote_t const *p_instance, nrfx_gpiote_pin_t pin)
 Function for triggering the task CLR manually.
 
NRFX_STATIC_INLINE void nrfx_gpiote_latency_set (nrfx_gpiote_t const *p_instance, nrf_gpiote_latency_t latency)
 Function for setting the latency mode for a given GPIOTE instance.
 
NRFX_STATIC_INLINE nrf_gpiote_latency_t nrfx_gpiote_latency_get (nrfx_gpiote_t const *p_instance)
 Function for getting the latency mode for a given GPIOTE instance.
 

Detailed Description

GPIO Task Event (GPIOTE) peripheral driver.

Macro Definition Documentation

◆ NRFX_GPIOTE_APP_CHANNELS_MASK

#define NRFX_GPIOTE_APP_CHANNELS_MASK (   idx)
Value:
(NRFX_BIT_MASK(NRFX_CONCAT_3(GPIOTE, idx, _CH_NUM)) & \
~(NRFX_CONCAT_3(NRFX_GPIOTE, idx, _CHANNELS_USED)))
#define NRFX_BIT_MASK(x)
Macro for returning bit mask or 0 if x is 0.
Definition: nrfx_common.h:108
#define NRFX_CONCAT_3(p1, p2, p3)
Macro for concatenating three tokens in macro expansion.
Definition: nrfx_common.h:155

Bitfield representing all GPIOTE channels available to the application for the specified GPIOTE instance.

Parameters
[in]idxGPIOTE instance index.

◆ NRFX_GPIOTE_DEFAULT_OUTPUT_CONFIG

#define NRFX_GPIOTE_DEFAULT_OUTPUT_CONFIG
Value:
{ \
.drive = NRF_GPIO_PIN_S0S1, \
.input_connect = NRF_GPIO_PIN_INPUT_DISCONNECT, \
}
@ NRF_GPIO_PIN_NOPULL
Pin pull-up resistor disabled.
Definition: nrf_gpio.h:161
@ NRF_GPIO_PIN_INPUT_DISCONNECT
Disconnect input buffer.
Definition: nrf_gpio.h:152
@ NRF_GPIO_PIN_S0S1
Standard '0', standard '1'.
Definition: nrf_gpio.h:170

Output pin default configuration.

◆ NRFX_GPIOTE_INST_HANDLER_GET

#define NRFX_GPIOTE_INST_HANDLER_GET (   idx)    NRFX_CONCAT_3(nrfx_gpiote_, idx, _irq_handler)

Macro returning GPIOTE interrupt handler.

Parameters
[in]idxGPIOTE index.
Returns
Interrupt handler.

◆ NRFX_GPIOTE_INSTANCE

#define NRFX_GPIOTE_INSTANCE (   id)
Value:
{ \
.p_reg = NRFX_CONCAT(NRF_, GPIOTE, id), \
.drv_inst_idx = NRFX_CONCAT(NRFX_GPIOTE, id, _INST_IDX), \
}
#define NRFX_CONCAT(...)
Macro for concatenating multiple arguments.
Definition: nrfx_utils.h:168

Macro for creating an instance of the GPIOTE driver.

Typedef Documentation

◆ nrfx_gpiote_interrupt_handler_t

typedef void(* nrfx_gpiote_interrupt_handler_t) (nrfx_gpiote_pin_t pin, nrfx_gpiote_trigger_t trigger, void *p_context)

Pin interrupt handler prototype.

Parameters
[in]pinPin that triggered this event.
[in]triggerTrigger that led to this event.
[in]p_contextUser context.

Enumeration Type Documentation

◆ nrfx_gpiote_trigger_t

Triggering options.

Enumerator
NRFX_GPIOTE_TRIGGER_NONE 

No trigger on a pin.

NRFX_GPIOTE_TRIGGER_LOTOHI 

Low to high edge trigger.

NRFX_GPIOTE_TRIGGER_HITOLO 

High to low edge trigger.

NRFX_GPIOTE_TRIGGER_TOGGLE 

Edge toggle trigger.

NRFX_GPIOTE_TRIGGER_LOW 

Level low trigger.

NRFX_GPIOTE_TRIGGER_HIGH 

Level high trigger.

NRFX_GPIOTE_TRIGGER_MAX 

Triggering options count.

Function Documentation

◆ nrfx_gpiote_channel_alloc()

nrfx_err_t nrfx_gpiote_channel_alloc ( nrfx_gpiote_t const *  p_instance,
uint8_t *  p_channel 
)

Function for allocating a GPIOTE channel.

This function allocates the first unused GPIOTE channel from pool defined in NRFX_GPIOTE_APP_CHANNELS_MASK.

Note
Function is thread safe as it uses nrfx_flag32_alloc.
Routines that allocate and free the GPIOTE channels are independent from the rest of the driver. In particular, the driver does not need to be initialized when this function is called.
Parameters
[in]p_instancePointer to the driver instance structure.
[out]p_channelPointer to the GPIOTE channel that has been allocated.
Return values
NRFX_SUCCESSThe channel was successfully allocated.
NRFX_ERROR_NO_MEMThere is no available channel to be used.

◆ nrfx_gpiote_channel_free()

nrfx_err_t nrfx_gpiote_channel_free ( nrfx_gpiote_t const *  p_instance,
uint8_t  channel 
)

Function for freeing a GPIOTE channel.

This function frees a GPIOTE channel that was allocated using nrfx_gpiote_channel_alloc.

Note
Function is thread safe as it uses nrfx_flag32_free.
Routines that allocate and free the GPIOTE channels are independent from the rest of the driver. In particular, the driver does not need to be initialized when this function is called.
Parameters
[in]p_instancePointer to the driver instance structure.
[in]channelGPIOTE channel to be freed.
Return values
NRFX_SUCCESSThe channel was successfully freed.
NRFX_ERROR_INVALID_PARAMThe channel is not user-configurable.

◆ nrfx_gpiote_channel_get()

nrfx_err_t nrfx_gpiote_channel_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin,
uint8_t *  p_channel 
)

Function for retrieving Task/Event channel index associated with the given pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinAbsolute pin number.
[out]p_channelLocation to write the channel index.
Return values
NRFX_SUCCESSChannel successfully written.
NRFX_ERROR_INVALID_PARAMPin is not configured or not using Task or Event.

◆ nrfx_gpiote_channels_number_get()

uint32_t nrfx_gpiote_channels_number_get ( nrfx_gpiote_t const *  p_instance)

Function for retrieving number of channels for specified GPIOTE instance.

Parameters
[in]p_instancePointer to the driver instance structure.
Returns
Number of channels for specified GPIOTE instance.

◆ nrfx_gpiote_clr_task_address_get()

uint32_t nrfx_gpiote_clr_task_address_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the address of the SET task for the specified output pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
Address of CLR task.

◆ nrfx_gpiote_clr_task_get()

nrf_gpiote_task_t nrfx_gpiote_clr_task_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the CLR task for the specified output pin.

The returned task identifier can be used within GPIOTE HAL, for example, to configure a DPPI channel.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
CLR task associated with the specified output pin.

◆ nrfx_gpiote_clr_task_trigger()

void nrfx_gpiote_clr_task_trigger ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for triggering the task CLR manually.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_global_callback_set()

void nrfx_gpiote_global_callback_set ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_interrupt_handler_t  handler,
void *  p_context 
)

Set global callback called for each event.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]handlerGlobal handler. Can be NULL.
[in]p_contextContext passed to the handler.

◆ nrfx_gpiote_in_event_address_get()

uint32_t nrfx_gpiote_in_event_address_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the address of a GPIOTE input pin event.

If the pin is configured to use low-accuracy mode, the address of the PORT event is returned.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
Address of the specified input pin event.

◆ nrfx_gpiote_in_event_get()

nrf_gpiote_event_t nrfx_gpiote_in_event_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the GPIOTE event for the specified input pin.

The returned event identifier can be used within GPIOTE HAL, for example, to configure a DPPI channel. If the pin is configured to use low-accuracy mode, the PORT event is returned.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
Event associated with the specified input pin.

◆ nrfx_gpiote_in_is_set()

bool nrfx_gpiote_in_is_set ( nrfx_gpiote_pin_t  pin)

Function for checking if a GPIOTE input pin is set.

Parameters
[in]pinPin.
Return values
trueThe input pin is set.
falseThe input pin is not set.

◆ nrfx_gpiote_init()

nrfx_err_t nrfx_gpiote_init ( nrfx_gpiote_t const *  p_instance,
uint8_t  interrupt_priority 
)

Function for initializing the GPIOTE driver instance.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]interrupt_priorityInterrupt priority.
Return values
NRFX_SUCCESSInitialization was successful.
NRFX_ERROR_ALREADYThe driver is already initialized.
NRFX_ERROR_INVALID_STATEThe driver is already initialized. Deprecated - use NRFX_ERROR_ALREADY instead.

◆ nrfx_gpiote_init_check()

bool nrfx_gpiote_init_check ( nrfx_gpiote_t const *  p_instance)

Function for checking if the GPIOTE driver instance is initialized.

The GPIOTE driver instance is a shared module. Therefore, check if the module is already initialized and skip initialization if it is.

Parameters
[in]p_instancePointer to the driver instance structure.
Return values
trueThe module is already initialized.
falseThe module is not initialized.

◆ nrfx_gpiote_input_configure()

nrfx_err_t nrfx_gpiote_input_configure ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin,
nrfx_gpiote_input_pin_config_t const *  p_config 
)

Function for configuring the specified input pin and input event/interrupt.

Prior to calling this function pin can be uninitialized or configured as input or output. However, following transitions and configurations are invalid and result in error returned by the function:

  • Setting level trigger (e.g. NRFX_GPIOTE_TRIGGER_HIGH) and using GPIOTE channel for the same pin.
  • Reconfiguring pin to input (p_config->p_pull_config not NULL) when pin was configured to use GPIOTE task. Prior to that, task must be disabled by configuring it with polarity set to NRF_GPIOTE_POLARITY_NONE.
  • Configuring trigger using GPIOTE channel for pin previously configured as output pin. Only sensing can be used for an output pin.

Function can be used to configure trigger and handler for sensing input changes on an output pin. In that case, prior to that output pin must be configured with input buffer connected. In that case p_config->p_pull_config is NULL to avoid reconfiguration of the pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinAbsolute pin number.
[in]p_configPointer to the structure with input pin configuration.
Return values
NRFX_SUCCESSConfiguration was successful.
NRFX_ERROR_INVALID_PARAMInvalid configuration.

◆ nrfx_gpiote_latency_get()

NRFX_STATIC_INLINE nrf_gpiote_latency_t nrfx_gpiote_latency_get ( nrfx_gpiote_t const *  p_instance)

Function for getting the latency mode for a given GPIOTE instance.

Parameters
[in]p_instancePointer to the driver instance structure.
Returns
Latency mode.

◆ nrfx_gpiote_latency_set()

NRFX_STATIC_INLINE void nrfx_gpiote_latency_set ( nrfx_gpiote_t const *  p_instance,
nrf_gpiote_latency_t  latency 
)

Function for setting the latency mode for a given GPIOTE instance.

Note
Available for event mode with rising or falling edge detection on the pin. Toggle task mode can only be used with low latency mode setting.
Parameters
[in]p_instancePointer to the driver instance structure.
[in]latencyLatency mode to be set.

◆ nrfx_gpiote_out_clear()

void nrfx_gpiote_out_clear ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for clearing a GPIOTE output pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_out_set()

void nrfx_gpiote_out_set ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for setting a GPIOTE output pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_out_task_address_get()

uint32_t nrfx_gpiote_out_task_address_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the address of the OUT task for the specified output pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
Address of OUT task.

◆ nrfx_gpiote_out_task_disable()

void nrfx_gpiote_out_task_disable ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for disabling a GPIOTE output pin task.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_out_task_enable()

void nrfx_gpiote_out_task_enable ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for enabling a GPIOTE output pin task.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_out_task_force()

void nrfx_gpiote_out_task_force ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin,
uint8_t  state 
)

Function for forcing a specific state on the pin configured as task.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
[in]statePin state.

◆ nrfx_gpiote_out_task_get()

nrf_gpiote_task_t nrfx_gpiote_out_task_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the OUT task for the specified output pin.

The returned task identifier can be used within GPIOTE HAL, for example, to configure a DPPI channel.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
OUT task associated with the specified output pin.

◆ nrfx_gpiote_out_task_trigger()

void nrfx_gpiote_out_task_trigger ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for triggering the task OUT manually.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_out_toggle()

void nrfx_gpiote_out_toggle ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for toggling a GPIOTE output pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_output_configure()

nrfx_err_t nrfx_gpiote_output_configure ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin,
nrfx_gpiote_output_config_t const *  p_config,
nrfx_gpiote_task_config_t const *  p_task_config 
)

Function for configuring the specified output pin to be used by the driver.

Prior to calling this function pin can be uninitialized or configured as input or output. However, following transitions and configurations are invalid and result in error returned by the function:

  • Reconfiguring pin to output when pin was configured as input with trigger using GPIOTE channel. Prior to that, trigger must be disabled by configuring it as NRFX_GPIOTE_TRIGGER_NONE.
  • Configuring pin as output without input buffer connected when prior to that trigger was configured. In that case input buffer must be connected.
  • Configuring GPIOTE task for pin which was previously configured as input. Before using GPIOTE task pin must be configured as output by providing p_config.
Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinAbsolute pin number.
[in]p_configPin configuration. If NULL pin configuration is not applied.
[in]p_task_configGPIOTE task configuration. If NULL task is not used.
Return values
NRFX_SUCCESSConfiguration was successful.
NRFX_ERROR_INVALID_PARAMInvalid configuration.

◆ nrfx_gpiote_pin_uninit()

nrfx_err_t nrfx_gpiote_pin_uninit ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for deinitializing the specified pin.

Specified pin and associated GPIOTE channel are restored to the default configuration.

Warning
GPIOTE channel used by the pin is not freed.
Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinAbsolute pin number.
Return values
NRFX_SUCCESSUninitialization was successful.
NRFX_ERROR_INVALID_PARAMPin not used by the driver.

◆ nrfx_gpiote_set_task_address_get()

uint32_t nrfx_gpiote_set_task_address_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the address of the SET task for the specified output pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
Address of SET task.

◆ nrfx_gpiote_set_task_get()

nrf_gpiote_task_t nrfx_gpiote_set_task_get ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for getting the SET task for the specified output pin.

The returned task identifier can be used within GPIOTE HAL, for example, to configure a DPPI channel.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.
Returns
SET task associated with the specified output pin.

◆ nrfx_gpiote_set_task_trigger()

void nrfx_gpiote_set_task_trigger ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for triggering the task SET manually.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinPin number.

◆ nrfx_gpiote_trigger_disable()

void nrfx_gpiote_trigger_disable ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin 
)

Function for disabling trigger for the given pin.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinAbsolute pin number.

◆ nrfx_gpiote_trigger_enable()

void nrfx_gpiote_trigger_enable ( nrfx_gpiote_t const *  p_instance,
nrfx_gpiote_pin_t  pin,
bool  int_enable 
)

Function for enabling trigger for the given pin.

When GPIOTE event is used trigger can be enabled without enabling interrupt, e.g. for PPI.

Parameters
[in]p_instancePointer to the driver instance structure.
[in]pinAbsolute pin number.
[in]int_enableTrue to enable the interrupt. Must be true when sensing is used.

◆ nrfx_gpiote_uninit()

void nrfx_gpiote_uninit ( nrfx_gpiote_t const *  p_instance)

Function for uninitializing the GPIOTE driver instance.

Parameters
[in]p_instancePointer to the driver instance structure.

Documentation feedback | Developer Zone | Subscribe | Updated