Kinetis SDK v.2.0 API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
LLWU: Low-Leakage Wakeup Unit Driver

Overview

The KSDK provides a Peripheral driver for the Low-Leakage Wakeup Unit (LLWU) module of Kinetis devices. The LLWU module allows the user to select external pin sources and internal modules as a wake-up source from low-leakage power modes.

External wakeup pins configurations

Configures the external wakeup pins' working modes, gets and clears the wake pin flags. External wakeup pins are accessed by pinIndex which is started from 1. Numbers of external pins depend on the SoC configuration.

Internal wakeup modules configurations

Enables/disables the internal wakeup modules, and gets the modules flags. Internal modules are accessed by moduleIndex which is started from 1. Numbers of external pins depend the on SoC configuration.

Digital pin filter for external wakeup pin configurations

Configures the digital pin filter of the external wakeup pins' working modes, gets and clears the pin filter flags. Digital pins filters are accessed by filterIndex which is started from 1. Numbers of external pins depends on the SoC configuration.

Data Structures

struct  llwu_external_pin_filter_mode_t
 External input pin filter control structure. More...
 

Enumerations

enum  llwu_external_pin_mode_t {
  kLLWU_ExternalPinDisable = 0U,
  kLLWU_ExternalPinRisingEdge = 1U,
  kLLWU_ExternalPinFallingEdge = 2U,
  kLLWU_ExternalPinAnyEdge = 3U
}
 External input pin control modes. More...
 
enum  llwu_pin_filter_mode_t {
  kLLWU_PinFilterDisable = 0U,
  kLLWU_PinFilterRisingEdge = 1U,
  kLLWU_PinFilterFallingEdge = 2U,
  kLLWU_PinFilterAnyEdge = 3U
}
 Digital filter control modes. More...
 

Driver version

#define FSL_LLWU_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))
 LLWU driver version 2.0.1. More...
 

Low-Leakage Wakeup Unit Control APIs

void LLWU_SetExternalWakeupPinMode (LLWU_Type *base, uint32_t pinIndex, llwu_external_pin_mode_t pinMode)
 Sets the external input pin source mode. More...
 
bool LLWU_GetExternalWakeupPinFlag (LLWU_Type *base, uint32_t pinIndex)
 Gets the external wakeup source flag. More...
 
void LLWU_ClearExternalWakeupPinFlag (LLWU_Type *base, uint32_t pinIndex)
 Clears the external wakeup source flag. More...
 
void LLWU_SetPinFilterMode (LLWU_Type *base, uint32_t filterIndex, llwu_external_pin_filter_mode_t filterMode)
 Sets the pin filter configuration. More...
 
bool LLWU_GetPinFilterFlag (LLWU_Type *base, uint32_t filterIndex)
 Gets the pin filter configuration. More...
 
void LLWU_ClearPinFilterFlag (LLWU_Type *base, uint32_t filterIndex)
 Clear the pin filter configuration. More...
 

Data Structure Documentation

struct llwu_external_pin_filter_mode_t

Data Fields

uint32_t pinIndex
 Pin number.
 
llwu_pin_filter_mode_t filterMode
 Filter mode.
 

Macro Definition Documentation

#define FSL_LLWU_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))

Enumeration Type Documentation

Enumerator
kLLWU_ExternalPinDisable 

Pin disabled as wakeup input.

kLLWU_ExternalPinRisingEdge 

Pin enabled with rising edge detection.

kLLWU_ExternalPinFallingEdge 

Pin enabled with falling edge detection.

kLLWU_ExternalPinAnyEdge 

Pin enabled with any change detection.

Enumerator
kLLWU_PinFilterDisable 

Filter disabled.

kLLWU_PinFilterRisingEdge 

Filter positive edge detection.

kLLWU_PinFilterFallingEdge 

Filter negative edge detection.

kLLWU_PinFilterAnyEdge 

Filter any edge detection.

Function Documentation

void LLWU_SetExternalWakeupPinMode ( LLWU_Type *  base,
uint32_t  pinIndex,
llwu_external_pin_mode_t  pinMode 
)

This function sets the external input pin source mode that is used as a wake up source.

Parameters
baseLLWU peripheral base address.
pinIndexpin index which to be enabled as external wakeup source, start from 1.
pinModepin configuration mode defined in llwu_external_pin_modes_t
bool LLWU_GetExternalWakeupPinFlag ( LLWU_Type *  base,
uint32_t  pinIndex 
)

This function checks the external pin flag to detect whether the MCU is woke up by the specific pin.

Parameters
baseLLWU peripheral base address.
pinIndexpin index, start from 1.
Returns
true if the specific pin is wake up source.
void LLWU_ClearExternalWakeupPinFlag ( LLWU_Type *  base,
uint32_t  pinIndex 
)

This function clears the external wakeup source flag for a specific pin.

Parameters
baseLLWU peripheral base address.
pinIndexpin index, start from 1.
void LLWU_SetPinFilterMode ( LLWU_Type *  base,
uint32_t  filterIndex,
llwu_external_pin_filter_mode_t  filterMode 
)

This function sets the pin filter configuration.

Parameters
baseLLWU peripheral base address.
filterIndexpin filter index which used to enable/disable the digital filter, start from 1.
filterModefilter mode configuration
bool LLWU_GetPinFilterFlag ( LLWU_Type *  base,
uint32_t  filterIndex 
)

This function gets the pin filter flag.

Parameters
baseLLWU peripheral base address.
filterIndexpin filter index, start from 1.
Returns
true if the flag is a source of existing a low-leakage power mode.
void LLWU_ClearPinFilterFlag ( LLWU_Type *  base,
uint32_t  filterIndex 
)

This function clear the pin filter flag.

Parameters
baseLLWU peripheral base address.
filterIndexpin filter index which to be clear the flag, start from 1.