This file contains HAL common defines, enumeration, macros and structures definitions.
More...
#include "stm32f1xx.h"
#include "Legacy/stm32_hal_legacy.h"
#include <stddef.h>
Go to the source code of this file.
|
#define | HAL_MAX_DELAY 0xFFFFFFFFU |
|
#define | HAL_IS_BIT_SET(REG, BIT) (((REG) & (BIT)) != 0U) |
|
#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 = 0U) |
| Reset the Handle's State field. More...
|
|
#define | __HAL_LOCK(__HANDLE__) |
|
#define | __HAL_UNLOCK(__HANDLE__) |
|
#define | __ALIGN_END |
|
|
enum | HAL_StatusTypeDef { HAL_OK = 0x00U,
HAL_ERROR = 0x01U,
HAL_BUSY = 0x02U,
HAL_TIMEOUT = 0x03U
} |
| HAL Status structures definition.
|
|
enum | HAL_LockTypeDef { HAL_UNLOCKED = 0x00U,
HAL_LOCKED = 0x01U
} |
| HAL Lock structures definition.
|
|
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 component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause
◆ __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_RESET_HANDLE_STATE
#define __HAL_RESET_HANDLE_STATE |
( |
|
__HANDLE__ | ) |
((__HANDLE__)->State = 0U) |
Reset the Handle's State field.
- Parameters
-
<strong>HANDLE</strong> | 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
-
◆ __HAL_UNLOCK
#define __HAL_UNLOCK |
( |
|
__HANDLE__ | ) |
|
Value:do{ \
(__HANDLE__)->Lock = HAL_UNLOCKED; \
}while (0U)