luat_soc_sdk_2024 V1.0
队列接口函数

类型定义

typedef void * luat_rtos_queue_t
 定义队列句柄
 

函数

int luat_rtos_queue_create (luat_rtos_queue_t *queue_handle, uint32_t item_count, uint32_t item_size)
 创建队列
 
int luat_rtos_queue_delete (luat_rtos_queue_t queue_handle)
 删除队列
 
int luat_rtos_queue_send (luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout)
 往队列里发送一个元素
 
int luat_rtos_queue_recv (luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout)
 从队列里取出一个元素
 
int luat_rtos_queue_get_cnt (luat_rtos_queue_t queue_handle, uint32_t *item_cnt)
 查询队列中剩余未处理的元素数量
 

详细描述

类型定义说明

◆ luat_rtos_queue_t

typedef void* luat_rtos_queue_t

定义队列句柄

在文件 luat_rtos.h311 行定义.

函数说明

◆ luat_rtos_queue_create()

int luat_rtos_queue_create ( luat_rtos_queue_t * queue_handle,
uint32_t item_count,
uint32_t item_size )

创建队列

参数
queue_handle[OUT]返回的队列句柄
msgcount队列里元素的最大数量
msgsize队列里单个元素的大小
返回
int =0成功,其他失败

◆ luat_rtos_queue_delete()

int luat_rtos_queue_delete ( luat_rtos_queue_t queue_handle)

删除队列

参数
queue_handle队列句柄
返回
int =0成功,其他失败

◆ luat_rtos_queue_get_cnt()

int luat_rtos_queue_get_cnt ( luat_rtos_queue_t queue_handle,
uint32_t * item_cnt )

查询队列中剩余未处理的元素数量

参数
queue_handle队列句柄
item_cnt[OUT]返回未处理的元素数量
返回
int =0成功,其他失败

◆ luat_rtos_queue_recv()

int luat_rtos_queue_recv ( luat_rtos_queue_t queue_handle,
void * item,
uint32_t item_size,
uint32_t timeout )

从队列里取出一个元素

参数
queue_handle队列句柄
item元素指针
item_size元素大小,这个是兼容性参数,实际上必须于创建时的item_size一致,所以忽略
timeout超时,单位ms,特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功,其他失败

◆ luat_rtos_queue_send()

int luat_rtos_queue_send ( luat_rtos_queue_t queue_handle,
void * item,
uint32_t item_size,
uint32_t timeout )

往队列里发送一个元素

参数
queue_handle队列句柄
item元素指针
item_size元素大小,这个是兼容性参数,实际上必须于创建时的item_size一致,所以忽略
timeout超时,单位ms,特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功,其他失败