OSPI control and State functions.
More...
OSPI control and State functions.
===============================================================================
##### Peripheral Control and State functions #####
===============================================================================
[..]
This subsection provides a set of functions allowing to :
(+) Check in run-time the state of the driver.
(+) Check the error code set during last operation.
(+) Abort any operation.
(+) Manage the Fifo threshold.
(+) Configure the timeout duration used in the driver.
◆ HAL_OSPI_Abort()
Abort the current transmission.
- Parameters
-
- Return values
-
Definition at line 2219 of file stm32l4xx_hal_ospi.c.
2221 HAL_StatusTypeDef status =
HAL_OK;
2226 state = hospi->
State;
2227 if (((state & OSPI_BUSY_STATE_MASK) != 0U) || ((state & OSPI_CFG_STATE_MASK) != 0U))
2230 if ((hospi->
Instance->CR & OCTOSPI_CR_DMAEN) != 0U)
2243 if (__HAL_OSPI_GET_FLAG(hospi, HAL_OSPI_FLAG_BUSY) != RESET)
2246 SET_BIT(hospi->
Instance->CR, OCTOSPI_CR_ABORT);
2249 status = OSPI_WaitFlagStateUntilTimeout(hospi, HAL_OSPI_FLAG_TC, SET, tickstart, hospi->
Timeout);
2254 __HAL_OSPI_CLEAR_FLAG(hospi, HAL_OSPI_FLAG_TC);
2257 status = OSPI_WaitFlagStateUntilTimeout(hospi, HAL_OSPI_FLAG_BUSY, RESET, tickstart, hospi->
Timeout);
2262 hospi->
State = HAL_OSPI_STATE_READY;
2269 hospi->
State = HAL_OSPI_STATE_READY;
2275 hospi->
ErrorCode = HAL_OSPI_ERROR_INVALID_SEQUENCE;
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
Abort the DMA Transfer.
OCTOSPI_TypeDef * Instance
◆ HAL_OSPI_Abort_IT()
Abort the current transmission (non-blocking function)
- Parameters
-
- Return values
-
Definition at line 2287 of file stm32l4xx_hal_ospi.c.
2289 HAL_StatusTypeDef status =
HAL_OK;
2293 state = hospi->
State;
2294 if (((state & OSPI_BUSY_STATE_MASK) != 0U) || ((state & OSPI_CFG_STATE_MASK) != 0U))
2297 __HAL_OSPI_DISABLE_IT(hospi, (HAL_OSPI_IT_TO | HAL_OSPI_IT_SM | HAL_OSPI_IT_FT | HAL_OSPI_IT_TC | HAL_OSPI_IT_TE));
2300 hospi->
State = HAL_OSPI_STATE_ABORT;
2303 if ((hospi->
Instance->CR & OCTOSPI_CR_DMAEN) != 0U)
2313 hospi->
State = HAL_OSPI_STATE_READY;
2316 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 2325 if (__HAL_OSPI_GET_FLAG(hospi, HAL_OSPI_FLAG_BUSY) != RESET)
2328 __HAL_OSPI_CLEAR_FLAG(hospi, HAL_OSPI_FLAG_TC);
2331 __HAL_OSPI_ENABLE_IT(hospi, HAL_OSPI_IT_TC);
2334 SET_BIT(hospi->
Instance->CR, OCTOSPI_CR_ABORT);
2339 hospi->
State = HAL_OSPI_STATE_READY;
2342 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 2353 hospi->
ErrorCode = HAL_OSPI_ERROR_INVALID_SEQUENCE;
void(* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer in Interrupt mode.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
void(* AbortCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
OCTOSPI_TypeDef * Instance
void HAL_OSPI_AbortCpltCallback(OSPI_HandleTypeDef *hospi)
Abort completed callback.
◆ HAL_OSPI_GetError()
◆ HAL_OSPI_GetFifoThreshold()
Get OSPI Fifo threshold.
- Parameters
-
- Return values
-
Definition at line 2393 of file stm32l4xx_hal_ospi.c.
2395 return ((READ_BIT(hospi->
Instance->CR, OCTOSPI_CR_FTHRES) >> OCTOSPI_CR_FTHRES_Pos) + 1U);
OCTOSPI_TypeDef * Instance
◆ HAL_OSPI_GetState()
◆ HAL_OSPI_SetFifoThreshold()
| HAL_StatusTypeDef HAL_OSPI_SetFifoThreshold |
( |
OSPI_HandleTypeDef * |
hospi, |
|
|
uint32_t |
Threshold |
|
) |
| |
Set OSPI Fifo threshold.
- Parameters
-
| hospi | : OSPI handle. |
| Threshold | : Threshold of the Fifo. |
- Return values
-
Definition at line 2365 of file stm32l4xx_hal_ospi.c.
2367 HAL_StatusTypeDef status =
HAL_OK;
2370 if ((hospi->
State & OSPI_BUSY_STATE_MASK) == 0U)
2373 hospi->
Init.FifoThreshold = Threshold;
2376 MODIFY_REG(hospi->
Instance->CR, OCTOSPI_CR_FTHRES, ((hospi->
Init.FifoThreshold-1U) << OCTOSPI_CR_FTHRES_Pos));
2382 hospi->
ErrorCode = HAL_OSPI_ERROR_INVALID_SEQUENCE;
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
OCTOSPI_TypeDef * Instance
◆ HAL_OSPI_SetTimeout()
Set OSPI timeout.
- Parameters
-
| hospi | : OSPI handle. |
| Timeout | : Timeout for the memory access. |
- Return values
-
Definition at line 2403 of file stm32l4xx_hal_ospi.c.