STM32L486xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32l4xx_hal_lptim.h File Reference

Header file of LPTIM HAL module. More...

#include "stm32l4xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  LPTIM_ClockConfigTypeDef
 LPTIM Clock configuration definition. More...
struct  LPTIM_ULPClockConfigTypeDef
 LPTIM Clock configuration definition. More...
struct  LPTIM_TriggerConfigTypeDef
 LPTIM Trigger configuration definition. More...
struct  LPTIM_InitTypeDef
 LPTIM Initialization Structure definition. More...
struct  __LPTIM_HandleTypeDef
 LPTIM handle Structure definition. More...

Defines

#define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC   ((uint32_t)0x00)
#define LPTIM_CLOCKSOURCE_ULPTIM   LPTIM_CFGR_CKSEL
#define LPTIM_PRESCALER_DIV1   ((uint32_t)0x000000)
#define LPTIM_PRESCALER_DIV2   LPTIM_CFGR_PRESC_0
#define LPTIM_PRESCALER_DIV4   LPTIM_CFGR_PRESC_1
#define LPTIM_PRESCALER_DIV8   ((uint32_t)(LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_1))
#define LPTIM_PRESCALER_DIV16   LPTIM_CFGR_PRESC_2
#define LPTIM_PRESCALER_DIV32   ((uint32_t)(LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_2))
#define LPTIM_PRESCALER_DIV64   ((uint32_t)(LPTIM_CFGR_PRESC_1 | LPTIM_CFGR_PRESC_2))
#define LPTIM_PRESCALER_DIV128   ((uint32_t)LPTIM_CFGR_PRESC)
#define LPTIM_OUTPUTPOLARITY_HIGH   ((uint32_t)0x00000000)
#define LPTIM_OUTPUTPOLARITY_LOW   (LPTIM_CFGR_WAVPOL)
#define LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION   ((uint32_t)0x00000000)
#define LPTIM_CLOCKSAMPLETIME_2TRANSITIONS   LPTIM_CFGR_CKFLT_0
#define LPTIM_CLOCKSAMPLETIME_4TRANSITIONS   LPTIM_CFGR_CKFLT_1
#define LPTIM_CLOCKSAMPLETIME_8TRANSITIONS   LPTIM_CFGR_CKFLT
#define LPTIM_CLOCKPOLARITY_RISING   ((uint32_t)0x00000000)
#define LPTIM_CLOCKPOLARITY_FALLING   LPTIM_CFGR_CKPOL_0
#define LPTIM_CLOCKPOLARITY_RISING_FALLING   LPTIM_CFGR_CKPOL_1
#define LPTIM_TRIGSOURCE_SOFTWARE   ((uint32_t)0x0000FFFF)
#define LPTIM_TRIGSOURCE_0   ((uint32_t)0x00000000)
#define LPTIM_TRIGSOURCE_1   ((uint32_t)LPTIM_CFGR_TRIGSEL_0)
#define LPTIM_TRIGSOURCE_2   LPTIM_CFGR_TRIGSEL_1
#define LPTIM_TRIGSOURCE_3   ((uint32_t)LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_1)
#define LPTIM_TRIGSOURCE_4   LPTIM_CFGR_TRIGSEL_2
#define LPTIM_TRIGSOURCE_5   ((uint32_t)LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_2)
#define LPTIM_TRIGSOURCE_6   ((uint32_t)LPTIM_CFGR_TRIGSEL_1 | LPTIM_CFGR_TRIGSEL_2)
#define LPTIM_TRIGSOURCE_7   LPTIM_CFGR_TRIGSEL
#define LPTIM_ACTIVEEDGE_RISING   LPTIM_CFGR_TRIGEN_0
#define LPTIM_ACTIVEEDGE_FALLING   LPTIM_CFGR_TRIGEN_1
#define LPTIM_ACTIVEEDGE_RISING_FALLING   LPTIM_CFGR_TRIGEN
#define LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION   ((uint32_t)0x00000000)
#define LPTIM_TRIGSAMPLETIME_2TRANSITIONS   LPTIM_CFGR_TRGFLT_0
#define LPTIM_TRIGSAMPLETIME_4TRANSITIONS   LPTIM_CFGR_TRGFLT_1
#define LPTIM_TRIGSAMPLETIME_8TRANSITIONS   LPTIM_CFGR_TRGFLT
#define LPTIM_UPDATE_IMMEDIATE   ((uint32_t)0x00000000)
#define LPTIM_UPDATE_ENDOFPERIOD   LPTIM_CFGR_PRELOAD
#define LPTIM_COUNTERSOURCE_INTERNAL   ((uint32_t)0x00000000)
#define LPTIM_COUNTERSOURCE_EXTERNAL   LPTIM_CFGR_COUNTMODE
#define LPTIM_INPUT1SOURCE_GPIO   ((uint32_t)0x00000000)
#define LPTIM_INPUT1SOURCE_COMP1   LPTIM_OR_OR_0
#define LPTIM_INPUT1SOURCE_COMP2   LPTIM_OR_OR_1
#define LPTIM_INPUT1SOURCE_COMP1_COMP2   LPTIM_OR_OR
#define LPTIM_INPUT2SOURCE_GPIO   ((uint32_t)0x00000000)
#define LPTIM_INPUT2SOURCE_COMP2   LPTIM_OR_OR_1
#define LPTIM_FLAG_DOWN   LPTIM_ISR_DOWN
#define LPTIM_FLAG_UP   LPTIM_ISR_UP
#define LPTIM_FLAG_ARROK   LPTIM_ISR_ARROK
#define LPTIM_FLAG_CMPOK   LPTIM_ISR_CMPOK
#define LPTIM_FLAG_EXTTRIG   LPTIM_ISR_EXTTRIG
#define LPTIM_FLAG_ARRM   LPTIM_ISR_ARRM
#define LPTIM_FLAG_CMPM   LPTIM_ISR_CMPM
#define LPTIM_IT_DOWN   LPTIM_IER_DOWNIE
#define LPTIM_IT_UP   LPTIM_IER_UPIE
#define LPTIM_IT_ARROK   LPTIM_IER_ARROKIE
#define LPTIM_IT_CMPOK   LPTIM_IER_CMPOKIE
#define LPTIM_IT_EXTTRIG   LPTIM_IER_EXTTRIGIE
#define LPTIM_IT_ARRM   LPTIM_IER_ARRMIE
#define LPTIM_IT_CMPM   LPTIM_IER_CMPMIE
#define __HAL_LPTIM_RESET_HANDLE_STATE(__HANDLE__)
 Reset LPTIM handle state.
#define __HAL_LPTIM_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR |= (LPTIM_CR_ENABLE))
 Enable the LPTIM peripheral.
#define __HAL_LPTIM_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR &= ~(LPTIM_CR_ENABLE))
 Disable the LPTIM peripheral.
#define __HAL_LPTIM_START_CONTINUOUS(__HANDLE__)   ((__HANDLE__)->Instance->CR |= LPTIM_CR_CNTSTRT)
 Start the LPTIM peripheral in Continuous or in single mode.
#define __HAL_LPTIM_START_SINGLE(__HANDLE__)   ((__HANDLE__)->Instance->CR |= LPTIM_CR_SNGSTRT)
#define __HAL_LPTIM_AUTORELOAD_SET(__HANDLE__, __VALUE__)   ((__HANDLE__)->Instance->ARR = (__VALUE__))
 Write the passed parameter in the Autoreload register.
#define __HAL_LPTIM_COMPARE_SET(__HANDLE__, __VALUE__)   ((__HANDLE__)->Instance->CMP = (__VALUE__))
 Write the passed parameter in the Compare register.
#define __HAL_LPTIM_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->ISR &(__FLAG__)) == (__FLAG__))
 Check whether the specified LPTIM flag is set or not.
#define __HAL_LPTIM_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->ICR = (__FLAG__))
 Clear the specified LPTIM flag.
#define __HAL_LPTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IER |= (__INTERRUPT__))
 Enable the specified LPTIM interrupt.
#define __HAL_LPTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__)))
 Disable the specified LPTIM interrupt.
#define __HAL_LPTIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
 Check whether the specified LPTIM interrupt source is enabled or not.
#define IS_LPTIM_CLOCK_SOURCE(__SOURCE__)
#define IS_LPTIM_CLOCK_PRESCALER(__PRESCALER__)
#define IS_LPTIM_CLOCK_PRESCALERDIV1(__PRESCALER__)   ((__PRESCALER__) == LPTIM_PRESCALER_DIV1)
#define IS_LPTIM_OUTPUT_POLARITY(__POLARITY__)
#define IS_LPTIM_CLOCK_SAMPLE_TIME(__SAMPLETIME__)
#define IS_LPTIM_CLOCK_POLARITY(__POLARITY__)
#define IS_LPTIM_TRG_SOURCE(__TRIG__)
#define IS_LPTIM_EXT_TRG_POLARITY(__POLARITY__)
#define IS_LPTIM_TRIG_SAMPLE_TIME(__SAMPLETIME__)
#define IS_LPTIM_UPDATE_MODE(__MODE__)
#define IS_LPTIM_COUNTER_SOURCE(__SOURCE__)
#define IS_LPTIM_AUTORELOAD(__AUTORELOAD__)   ((__AUTORELOAD__) <= 0x0000FFFF)
#define IS_LPTIM_COMPARE(__COMPARE__)   ((__COMPARE__) <= 0x0000FFFF)
#define IS_LPTIM_PERIOD(__PERIOD__)   ((__PERIOD__) <= 0x0000FFFF)
#define IS_LPTIM_PULSE(__PULSE__)   ((__PULSE__) <= 0x0000FFFF)
#define IS_LPTIM_INPUT1_SOURCE(__INSTANCE__, __SOURCE__)
#define IS_LPTIM_INPUT2_SOURCE(__INSTANCE__, __SOURCE__)

Typedefs

typedef enum
__HAL_LPTIM_StateTypeDef 
HAL_LPTIM_StateTypeDef
 HAL LPTIM State structure definition.
typedef struct
__LPTIM_HandleTypeDef 
LPTIM_HandleTypeDef
 LPTIM handle Structure definition.
typedef void(* pLPTIM_CallbackTypeDef )(LPTIM_HandleTypeDef *hlptim)
 HAL TIM Callback pointer definition.

Enumerations

enum  __HAL_LPTIM_StateTypeDef {
  HAL_LPTIM_STATE_RESET = 0x00, HAL_LPTIM_STATE_READY = 0x01, HAL_LPTIM_STATE_BUSY = 0x02, HAL_LPTIM_STATE_TIMEOUT = 0x03,
  HAL_LPTIM_STATE_ERROR = 0x04
}
 HAL LPTIM State structure definition. More...
enum  HAL_LPTIM_CallbackIDTypeDef {
  HAL_LPTIM_MSPINIT_CB_ID = 0x00U, HAL_LPTIM_MSPDEINIT_CB_ID = 0x01U, HAL_LPTIM_COMPARE_MATCH_CB_ID = 0x02U, HAL_LPTIM_AUTORELOAD_MATCH_CB_ID = 0x03U,
  HAL_LPTIM_TRIGGER_CB_ID = 0x04U, HAL_LPTIM_COMPARE_WRITE_CB_ID = 0x05U, HAL_LPTIM_AUTORELOAD_WRITE_CB_ID = 0x06U, HAL_LPTIM_DIRECTION_UP_CB_ID = 0x07U,
  HAL_LPTIM_DIRECTION_DOWN_CB_ID = 0x08U
}
 HAL LPTIM Callback ID enumeration definition. More...

Functions

HAL_StatusTypeDef HAL_LPTIM_Init (LPTIM_HandleTypeDef *hlptim)
 Initialize the LPTIM according to the specified parameters in the LPTIM_InitTypeDef and initialize the associated handle.
HAL_StatusTypeDef HAL_LPTIM_DeInit (LPTIM_HandleTypeDef *hlptim)
 DeInitialize the LPTIM peripheral.
void HAL_LPTIM_MspInit (LPTIM_HandleTypeDef *hlptim)
 Initialize the LPTIM MSP.
void HAL_LPTIM_MspDeInit (LPTIM_HandleTypeDef *hlptim)
 DeInitialize LPTIM MSP.
HAL_StatusTypeDef HAL_LPTIM_PWM_Start (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
 Start the LPTIM PWM generation.
HAL_StatusTypeDef HAL_LPTIM_PWM_Stop (LPTIM_HandleTypeDef *hlptim)
 Stop the LPTIM PWM generation.
HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
 Start the LPTIM PWM generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_PWM_Stop_IT (LPTIM_HandleTypeDef *hlptim)
 Stop the LPTIM PWM generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
 Start the LPTIM One pulse generation.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop (LPTIM_HandleTypeDef *hlptim)
 Stop the LPTIM One pulse generation.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
 Start the LPTIM One pulse generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop_IT (LPTIM_HandleTypeDef *hlptim)
 Stop the LPTIM One pulse generation in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
 Start the LPTIM in Set once mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop (LPTIM_HandleTypeDef *hlptim)
 Stop the LPTIM Set once mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse)
 Start the LPTIM Set once mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT (LPTIM_HandleTypeDef *hlptim)
 Stop the LPTIM Set once mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Start (LPTIM_HandleTypeDef *hlptim, uint32_t Period)
 Start the Encoder interface.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop (LPTIM_HandleTypeDef *hlptim)
 Stop the Encoder interface.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT (LPTIM_HandleTypeDef *hlptim, uint32_t Period)
 Start the Encoder interface in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT (LPTIM_HandleTypeDef *hlptim)
 Stop the Encoder interface in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout)
 Start the Timeout function.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop (LPTIM_HandleTypeDef *hlptim)
 Stop the Timeout function.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT (LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout)
 Start the Timeout function in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT (LPTIM_HandleTypeDef *hlptim)
 Stop the Timeout function in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Start (LPTIM_HandleTypeDef *hlptim, uint32_t Period)
 Start the Counter mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Stop (LPTIM_HandleTypeDef *hlptim)
 Stop the Counter mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT (LPTIM_HandleTypeDef *hlptim, uint32_t Period)
 Start the Counter mode in interrupt mode.
HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT (LPTIM_HandleTypeDef *hlptim)
 Stop the Counter mode in interrupt mode.
uint32_t HAL_LPTIM_ReadCounter (LPTIM_HandleTypeDef *hlptim)
 Return the current counter value.
uint32_t HAL_LPTIM_ReadAutoReload (LPTIM_HandleTypeDef *hlptim)
 Return the current Autoreload (Period) value.
uint32_t HAL_LPTIM_ReadCompare (LPTIM_HandleTypeDef *hlptim)
 Return the current Compare (Pulse) value.
void HAL_LPTIM_IRQHandler (LPTIM_HandleTypeDef *hlptim)
 Handle LPTIM interrupt request.
void HAL_LPTIM_CompareMatchCallback (LPTIM_HandleTypeDef *hlptim)
 Compare match callback in non-blocking mode.
void HAL_LPTIM_AutoReloadMatchCallback (LPTIM_HandleTypeDef *hlptim)
 Autoreload match callback in non-blocking mode.
void HAL_LPTIM_TriggerCallback (LPTIM_HandleTypeDef *hlptim)
 Trigger detected callback in non-blocking mode.
void HAL_LPTIM_CompareWriteCallback (LPTIM_HandleTypeDef *hlptim)
 Compare write callback in non-blocking mode.
void HAL_LPTIM_AutoReloadWriteCallback (LPTIM_HandleTypeDef *hlptim)
 Autoreload write callback in non-blocking mode.
void HAL_LPTIM_DirectionUpCallback (LPTIM_HandleTypeDef *hlptim)
 Direction counter changed from Down to Up callback in non-blocking mode.
void HAL_LPTIM_DirectionDownCallback (LPTIM_HandleTypeDef *hlptim)
 Direction counter changed from Up to Down callback in non-blocking mode.
HAL_StatusTypeDef HAL_LPTIM_RegisterCallback (LPTIM_HandleTypeDef *lphtim, HAL_LPTIM_CallbackIDTypeDef CallbackID, pLPTIM_CallbackTypeDef pCallback)
 Register a User LPTIM callback to be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_LPTIM_UnRegisterCallback (LPTIM_HandleTypeDef *lphtim, HAL_LPTIM_CallbackIDTypeDef CallbackID)
 Unregister a LPTIM callback LLPTIM callback is redirected to the weak predefined callback.
HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState (LPTIM_HandleTypeDef *hlptim)
 Return the LPTIM handle state.

Detailed Description

Header file of LPTIM HAL module.

Author:
MCD Application Team
Attention:

© COPYRIGHT(c) 2017 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32l4xx_hal_lptim.h.