/** * @brief DeInitializes the LPTIM peripheral. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_DeInit(LPTIM_HandleTypeDef *hlptim) { /* Check the LPTIM handle allocation */ if(hlptim == NULL) { return HAL_ERROR; } /* Change the LPTIM state */ hlptim->State = HAL_LPTIM_STATE_BUSY; /* Disable the LPTIM Peripheral Clock */ __HAL_LPTIM_DISABLE(hlptim); /* DeInit the low level hardware: CLOCK, NVIC.*/ HAL_LPTIM_MspDeInit(hlptim); /* Change the LPTIM state */ hlptim->State = HAL_LPTIM_STATE_RESET; /* Release Lock */ __HAL_UNLOCK(hlptim); /* Return function status */ return HAL_OK; }
/** * @brief Stops the Encoder interface in nterrupt mode. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT(LPTIM_HandleTypeDef *hlptim) { /* Check the parameters */ assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); /* Set the LPTIM state */ hlptim->State= HAL_LPTIM_STATE_BUSY; /* Disable the Peripheral */ __HAL_LPTIM_DISABLE(hlptim); /* Reset ENC bit to disable the encoder interface */ hlptim->Instance->CFGR &= ~LPTIM_CFGR_ENC; /* Disable "switch to down direction" interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_DOWN); /* Disable "switch to up direction" interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_UP); /* Change the TIM state*/ hlptim->State= HAL_LPTIM_STATE_READY; /* Return function status */ return HAL_OK; }
/** * @brief Stops the Timeout function in interrupt mode. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT(LPTIM_HandleTypeDef *hlptim) { /* Check the parameters */ assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); /* Set the LPTIM state */ hlptim->State= HAL_LPTIM_STATE_BUSY; /* Disable the Peripheral */ __HAL_LPTIM_DISABLE(hlptim); /* Reset TIMOUT bit to enable the timeout function */ hlptim->Instance->CFGR &= ~LPTIM_CFGR_TIMOUT; /* Disable Autoreload write complete interrupt */ __HAL_LPTIM_DISABLE_INTERRUPT(hlptim, LPTIM_IT_ARROK); /* Disable Compare write complete interrupt */ __HAL_LPTIM_DISABLE_INTERRUPT(hlptim, LPTIM_IT_CMPOK); /* Disable Autoreload match interrupt */ __HAL_LPTIM_DISABLE_INTERRUPT(hlptim, LPTIM_IT_ARRM); /* Disable Compare match interrupt */ __HAL_LPTIM_DISABLE_INTERRUPT(hlptim, LPTIM_IT_CMPM); /* Disable external trigger interrupt */ __HAL_LPTIM_DISABLE_INTERRUPT(hlptim, LPTIM_IT_EXTTRIG); /* Change the TIM state*/ hlptim->State= HAL_LPTIM_STATE_READY; /* Return function status */ return HAL_OK; }
/** * @brief Stops the LPTIM Set once mode. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop(LPTIM_HandleTypeDef *hlptim) { /* Check the parameters */ assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); /* Set the LPTIM state */ hlptim->State= HAL_LPTIM_STATE_BUSY; /* Disable the Peripheral */ __HAL_LPTIM_DISABLE(hlptim); /* Change the TIM state*/ hlptim->State= HAL_LPTIM_STATE_READY; /* Return function status */ return HAL_OK; }
/** * @brief Stops the Timeout function. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop(LPTIM_HandleTypeDef *hlptim) { /* Check the parameters */ assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); /* Set the LPTIM state */ hlptim->State= HAL_LPTIM_STATE_BUSY; /* Disable the Peripheral */ __HAL_LPTIM_DISABLE(hlptim); /* Reset TIMOUT bit to enable the timeout function */ hlptim->Instance->CFGR &= ~LPTIM_CFGR_TIMOUT; /* Change the TIM state*/ hlptim->State= HAL_LPTIM_STATE_READY; /* Return function status */ return HAL_OK; }
/** * @brief Stops the Counter mode in interrupt mode. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim) { /* Check the parameters */ assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); /* Set the LPTIM state */ hlptim->State= HAL_LPTIM_STATE_BUSY; /* Disable the Peripheral */ __HAL_LPTIM_DISABLE(hlptim); /* Disable Autoreload write complete interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK); /* Disable Autoreload match interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM); /* Change the TIM state*/ hlptim->State= HAL_LPTIM_STATE_READY; /* Return function status */ return HAL_OK; }
/** * @brief Stops the LPTIM Set once mode in interrupt mode. * @param hlptim : LPTIM handle * @retval HAL status */ HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT(LPTIM_HandleTypeDef *hlptim) { /* Check the parameters */ assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); /* Set the LPTIM state */ hlptim->State= HAL_LPTIM_STATE_BUSY; /* Disable the Peripheral */ __HAL_LPTIM_DISABLE(hlptim); /* Disable Autoreload write complete interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK); /* Disable Compare write complete interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK); /* Disable Autoreload match interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM); /* Disable Compare match interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM); /* If external trigger source is used, then disable external trigger interrupt */ if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) { /* Disable external trigger interrupt */ __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG); } /* Change the TIM state*/ hlptim->State= HAL_LPTIM_STATE_READY; /* Return function status */ return HAL_OK; }