思澈科技软件开发工具包  2.20
Mutex lock and unlock functions

Functions

MUTEX_LockCoreIdTypeDef HAL_MAILBOX_Lock (MUTEX_HandleTypeDef const *const hmutex, uint8_t ch_id)
 Lock mutex. More...
 
MUTEX_LockCoreIdTypeDef HAL_MAILBOX_LockEx (MUTEX_HandleTypeDef const *const hmutex, uint8_t ch_id, uint32_t timeout_ms)
 Lock mutex advanced version. More...
 
MUTEX_CH_TypeDefHAL_MAILBOX_GetMutex (uint8_t core_id, uint8_t ch_id)
 Get mutex based on CPU core and channel. More...
 
void HAL_MAILBOX_UnLock (MUTEX_HandleTypeDef const *const hmutex, uint8_t ch_id)
 Unlock mutex. More...
 

Detailed Description

Function Documentation

◆ HAL_MAILBOX_GetMutex()

MUTEX_CH_TypeDef* HAL_MAILBOX_GetMutex ( uint8_t  core_id,
uint8_t  ch_id 
)

Get mutex based on CPU core and channel.

Parameters
core_idcore ID, CORE_ID_HCPU/CORE_ID_LCPU/CORE_ID_BCPU
ch_idchannel id, range, 0~1, it's used if mutex instance is not specified
Return values
Mutexhandle if successful, NULL if failed.

◆ HAL_MAILBOX_Lock()

MUTEX_LockCoreIdTypeDef HAL_MAILBOX_Lock ( MUTEX_HandleTypeDef const *const  hmutex,
uint8_t  ch_id 
)

Lock mutex.

Parameters
hmutexmutex handle
ch_idchannel id, range, 0~1, it's used if mutex instance is not specified
Return values
0lock succeed, >0: lock fail, core

◆ HAL_MAILBOX_LockEx()

MUTEX_LockCoreIdTypeDef HAL_MAILBOX_LockEx ( MUTEX_HandleTypeDef const *const  hmutex,
uint8_t  ch_id,
uint32_t  timeout_ms 
)

Lock mutex advanced version.

Parameters
hmutexmutex handle
ch_idchannel id, range, 0~1, it's used if mutex instance is not specified
timeout_mstime out value in ms.
Return values
0lock succeed, >0: lock fail, core

◆ HAL_MAILBOX_UnLock()

void HAL_MAILBOX_UnLock ( MUTEX_HandleTypeDef const *const  hmutex,
uint8_t  ch_id 
)

Unlock mutex.

Parameters
hmutexmutex handle
ch_idchannel id, range, 0~1, it's used if mutex instance is not specified
Return values
void