跳到主要内容

tkl_mutex | Mutex 互斥锁

文件 tkl_mutex.c 用于创建和管理互斥锁,在嵌入式系统或多任务操作系统中,能够确保资源的同步访问。文件中定义的函数能够创建互斥锁、加锁、尝试加锁、解锁以及销毁互斥锁。该文件是由涂鸦操作系统(TuyaOS)自动生成的,并且允许开发者在指定区域添加或修改代码实现。

API 说明

tkl_mutex_create_init

OPERATE_RET tkl_mutex_create_init(TKL_MUTEX_HANDLE *handle);
  • 功能:创建并初始化一个互斥锁。

  • 参数:handle 为输出参数,用于存储创建的互斥锁句柄。

  • 返回值:OPRT_OK 表示成功创建互斥锁,其他值则表示发生错误。详细错误代码请参考 tuya_error_code.h

tkl_mutex_lock

OPERATE_RET tkl_mutex_lock(const TKL_MUTEX_HANDLE handle);
  • 功能:锁定一个互斥锁。如果互斥锁已被其他任务锁定,调用此函数的任务会被挂起,直到互斥锁可用。

  • 参数:handle 为输入参数,互斥锁句柄。

  • 返回值:OPRT_OK 则表示成功锁定互斥锁,失败时返回相应的错误代码。详细错误代码请参考 tuya_error_code.h

tkl_mutex_trylock

OPERATE_RET tkl_mutex_trylock(const TKL_MUTEX_HANDLE mutexHandle);
  • 功能:尝试锁定一个互斥锁,但不会因互斥锁被占用而挂起调用任务。

  • 参数:mutexHandle 为输入参数,互斥锁句柄。

  • 返回值:OPRT_OK 则表示成功尝试锁定互斥锁,其他值则表示发生错误。详细错误代码请参考 tuya_error_code.h

tkl_mutex_unlock

OPERATE_RET tkl_mutex_unlock(const TKL_MUTEX_HANDLE handle);
  • 功能:解锁一个已锁定的互斥锁。

  • 参数:handle 为输入参数,互斥锁句柄。

  • 返回值:OPRT_OK 表示成功解锁互斥锁,其他值则表示发生错误。详细错误代码请参考 tuya_error_code.h

tkl_mutex_release

OPERATE_RET tkl_mutex_release(const TKL_MUTEX_HANDLE handle);
  • 功能:释放并删除一个互斥锁。

  • 参数:handle 为输入参数,互斥锁句柄。

  • 返回值:OPRT_OK 表示成功释放资源,其他值则表示发生错误。详细错误代码请参考 tuya_error_code.h