RTEMS 6.1-rc1
Macros | Enumerations
stm32h7xx_hal_def.h File Reference

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

#include "stm32h7xx.h"
#include "Legacy/stm32_hal_legacy.h"
#include <stddef.h>
#include <math.h>

Go to the source code of this file.

Macros

#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 UNUSED(x)   ((void)(x)) /* To avoid gcc/g++ warnings */
 
#define __HAL_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = 0)
 Reset the Handle's State field. More...
 
#define __HAL_LOCK(__HANDLE__)
 
#define __HAL_UNLOCK(__HANDLE__)
 
#define __ALIGN_END
 

Enumerations

enum  HAL_StatusTypeDef { HAL_OK = 0x00 , HAL_ERROR = 0x01 , HAL_BUSY = 0x02 , HAL_TIMEOUT = 0x03 }
 HAL Status structures definition.
 
enum  HAL_LockTypeDef { HAL_UNLOCKED = 0x00 , HAL_LOCKED = 0x01 }
 HAL Lock structures definition.
 

Detailed Description

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

Author
MCD Application Team
Attention

Copyright (c) 2017 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

◆ __HAL_LINKDMA

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

◆ __HAL_LOCK

#define __HAL_LOCK (   __HANDLE__)
Value:
do{ \
if((__HANDLE__)->Lock == HAL_LOCKED) \
{ \
return HAL_BUSY; \
} \
else \
{ \
(__HANDLE__)->Lock = HAL_LOCKED; \
} \
}while (0)

◆ __HAL_RESET_HANDLE_STATE

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

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 (0)