My Project
Loading...
Searching...
No Matches
stm32f3xx_hal_def.h File Reference

This file contains HAL common defines, enumeration, macros and structures definitions. More...

#include "stm32f3xx.h"
#include "Legacy/stm32_hal_legacy.h"
#include <stddef.h>

Go to the source code of this file.

Macros

#define UNUSED(X)   (void)X /* To avoid gcc/g++ warnings */
 
#define HAL_MAX_DELAY   0xFFFFFFFFU
 
#define HAL_IS_BIT_SET(REG, BIT)   (((REG) & (BIT)) == BIT)
 
#define HAL_IS_BIT_CLR(REG, BIT)   (((REG) & (BIT)) == 0U)
 
#define __HAL_LINKDMA(__HANDLE__, __PPP_DMA_FIELD_, __DMA_HANDLE_)
 
#define __HAL_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = 0U)
 Reset the Handle's State field.
 
#define __HAL_LOCK(__HANDLE__)
 
#define __HAL_UNLOCK(__HANDLE__)
 
#define __ALIGN_END
 

Enumerations

enum  HAL_StatusTypeDef { HAL_OK = 0x00U , HAL_ERROR = 0x01U , HAL_BUSY = 0x02U , HAL_TIMEOUT = 0x03 }
 HAL Status structures definition
More...
 
enum  HAL_LockTypeDef { HAL_UNLOCKED = 0x00U , HAL_LOCKED = 0x01 }
 HAL Lock structures definition
More...
 

Detailed Description

This file contains HAL common defines, enumeration, macros and structures definitions.

Author
MCD Application Team
Attention

Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Macro Definition Documentation

◆ __ALIGN_END

#define __ALIGN_END

◆ __HAL_LINKDMA

#define __HAL_LINKDMA (   __HANDLE__,
  __PPP_DMA_FIELD_,
  __DMA_HANDLE_ 
)
Value:
do{ \
(__HANDLE__)->__PPP_DMA_FIELD_ = &(__DMA_HANDLE_); \
(__DMA_HANDLE_).Parent = (__HANDLE__); \
} while(0U)

◆ __HAL_LOCK

#define __HAL_LOCK (   __HANDLE__)
Value:
do{ \
if((__HANDLE__)->Lock == HAL_LOCKED) \
{ \
return HAL_BUSY; \
} \
else \
{ \
(__HANDLE__)->Lock = HAL_LOCKED; \
} \
}while (0U)
@ HAL_BUSY
Definition: stm32f3xx_hal_def.h:42
@ HAL_LOCKED
Definition: stm32f3xx_hal_def.h:52

◆ __HAL_RESET_HANDLE_STATE

#define __HAL_RESET_HANDLE_STATE (   __HANDLE__)    ((__HANDLE__)->State = 0U)

Reset the Handle's State field.

Parameters
__HANDLE__specifies the Peripheral Handle.
Note
This macro can be used for the following purpose:
  • When the Handle is declared as local variable; before passing it as parameter to HAL_PPP_Init() for the first time, it is mandatory to use this macro to set to 0 the Handle's "State" field. Otherwise, "State" field may have any random value and the first time the function HAL_PPP_Init() is called, the low level hardware initialization will be missed (i.e. HAL_PPP_MspInit() will not be executed).
  • When there is a need to reconfigure the low level hardware: instead of calling HAL_PPP_DeInit() then HAL_PPP_Init(), user can make a call to this macro then HAL_PPP_Init(). In this later function, when the Handle's "State" field is set to 0, it will execute the function HAL_PPP_MspInit() which will reconfigure the low level hardware.
Return values
None

◆ __HAL_UNLOCK

#define __HAL_UNLOCK (   __HANDLE__)
Value:
do{ \
(__HANDLE__)->Lock = HAL_UNLOCKED; \
}while (0U)
@ HAL_UNLOCKED
Definition: stm32f3xx_hal_def.h:51

◆ HAL_IS_BIT_CLR

#define HAL_IS_BIT_CLR (   REG,
  BIT 
)    (((REG) & (BIT)) == 0U)

◆ HAL_IS_BIT_SET

#define HAL_IS_BIT_SET (   REG,
  BIT 
)    (((REG) & (BIT)) == BIT)

◆ HAL_MAX_DELAY

#define HAL_MAX_DELAY   0xFFFFFFFFU

◆ UNUSED

#define UNUSED (   X)    (void)X /* To avoid gcc/g++ warnings */

Enumeration Type Documentation

◆ HAL_LockTypeDef

HAL Lock structures definition

Enumerator
HAL_UNLOCKED 
HAL_LOCKED 

◆ HAL_StatusTypeDef

HAL Status structures definition

Enumerator
HAL_OK 
HAL_ERROR 
HAL_BUSY 
HAL_TIMEOUT