思澈科技软件开发工具包  2.20

Common HAL common type definition. More...

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 = 0)
 Reset the Handle's State field. More...
 
#define __HAL_LOCK(__HANDLE__)
 
#define __HAL_UNLOCK(__HANDLE__)
 
#define __ALIGN_END
 
#define HAL_SECTION(x)
 __RAM_FUNC definition
 
#define HAL_STRINGIFY_(val)   #val
 
#define HAL_STRINGIFY(val)   HAL_STRINGIFY_(val)
 
#define HAL_RAM_NON_RET_CODE_SECT(section_name, func)   HAL_SECTION(HAL_STRINGIFY(.l1_non_ret_text_##section_name)) func
 
#define HAL_RAM_NON_RET_RODATA_SECT(section_name)   HAL_SECTION(HAL_STRINGIFY(.l1_non_ret_rodata_##section_name))
 
#define HAL_RAM_RET_CODE_SECT(section_name, func)   HAL_SECTION(HAL_STRINGIFY(.l1_ret_text_##section_name)) func
 
#define HAL_RAM_RET_RODATA_SECT(section_name)   HAL_SECTION(HAL_STRINGIFY(.l1_ret_rodata_##section_name))
 
#define HAL_RETM_BSS_SECT(section_name, var)   var HAL_SECTION(HAL_STRINGIFY(.bss.retm_bss_##section_name))
 

Enumerations

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

Detailed Description

Common HAL common type definition.

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)

◆ HAL_RAM_NON_RET_CODE_SECT

#define HAL_RAM_NON_RET_CODE_SECT (   section_name,
  func 
)    HAL_SECTION(HAL_STRINGIFY(.l1_non_ret_text_##section_name)) func

RAM non-retained code section

◆ HAL_RAM_NON_RET_RODATA_SECT

#define HAL_RAM_NON_RET_RODATA_SECT (   section_name)    HAL_SECTION(HAL_STRINGIFY(.l1_non_ret_rodata_##section_name))

RAM non-retained rodata section

◆ HAL_RAM_RET_CODE_SECT

#define HAL_RAM_RET_CODE_SECT (   section_name,
  func 
)    HAL_SECTION(HAL_STRINGIFY(.l1_ret_text_##section_name)) func

RAM retained code section

◆ HAL_RAM_RET_RODATA_SECT

#define HAL_RAM_RET_RODATA_SECT (   section_name)    HAL_SECTION(HAL_STRINGIFY(.l1_ret_rodata_##section_name))

RAM retained rodata section

◆ HAL_STRINGIFY

#define HAL_STRINGIFY (   val)    HAL_STRINGIFY_(val)

Converts a macro argument into a character constant.

Enumeration Type Documentation

◆ HAL_StatusTypeDef

HAL Status structures definition.

Enumerator
HAL_OK 

No error

HAL_ERROR 

General error

HAL_BUSY 

Busy

HAL_TIMEOUT 

Timeout

HAL_BUSY
@ HAL_BUSY
Definition: bf0_hal_def.h:77