luat_soc_sdk_2024 V1.0
|
类型定义 | |
typedef LUAT_RT_RET_TYPE(* | luat_rtos_event_wait_callback_t) (LUAT_RT_CB_PARAM) |
在等待event中,如果设置了目标event id,而到来的不是目标event id,可以通过回调函数交给用户处理 | |
函数 | |
int | luat_rtos_event_send (luat_rtos_task_handle task_handle, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t timeout) |
发送一个event给task的mailbox,只有设置了mailbox启用的task能接收,如果缓存了超过1024个event会断言 | |
int | luat_rtos_event_recv (luat_rtos_task_handle task_handle, uint32_t wait_event_id, luat_event_t *out_event, luat_rtos_event_wait_callback_t *callback_fun, uint32_t timeout) |
接收一个event,只能在task里接收 | |
int | luat_rtos_message_send (luat_rtos_task_handle task_handle, uint32_t message_id, void *p_message) |
发送一个message给task的mailbox,只有设置了mailbox启用的task能接收,message可以动态创建的,可以任意大小,如果缓存了超过1024个message会断言 | |
int | luat_rtos_message_recv (luat_rtos_task_handle task_handle, uint32_t *message_id, void **p_p_message, uint32_t timeout) |
接收一个message,只能在task里接收 | |
typedef LUAT_RT_RET_TYPE(* luat_rtos_event_wait_callback_t) (LUAT_RT_CB_PARAM) |
在等待event中,如果设置了目标event id,而到来的不是目标event id,可以通过回调函数交给用户处理
在文件 luat_rtos.h 第 157 行定义.
int luat_rtos_event_recv | ( | luat_rtos_task_handle | task_handle, |
uint32_t | wait_event_id, | ||
luat_event_t * | out_event, | ||
luat_rtos_event_wait_callback_t * | callback_fun, | ||
uint32_t | timeout ) |
接收一个event,只能在task里接收
task_handle | 需要接收event的task句柄 |
wait_event_id | 目标event的ID,=0表示不限制,任意event id都会返回 |
out_event[OUT] | 接收到的event |
callback_fun | event的ID不是目标ID时,用户回调函数,可以为NULL,从而抛弃掉这个event |
timeout | 接收超时,单位ms,特殊值见LUAT_RTOS_WAIT_E |
int luat_rtos_event_send | ( | luat_rtos_task_handle | task_handle, |
uint32_t | id, | ||
uint32_t | param1, | ||
uint32_t | param2, | ||
uint32_t | param3, | ||
uint32_t | timeout ) |
发送一个event给task的mailbox,只有设置了mailbox启用的task能接收,如果缓存了超过1024个event会断言
task_handle | 需要接收event的task句柄 |
id | event id |
param1 | event参数1 |
param2 | event参数2 |
param3 | event参数3 |
timeout | 发送超时,已经废弃了 |
int luat_rtos_message_recv | ( | luat_rtos_task_handle | task_handle, |
uint32_t * | message_id, | ||
void ** | p_p_message, | ||
uint32_t | timeout ) |
接收一个message,只能在task里接收
task_handle | 需要接收massage的task句柄 |
message_id[OUT] | 接收到的message id |
p_p_message[OUT] | message内容,输出一个void *指针,如果是发送时动态创建的,需要释放掉 |
timeout | 接收超时,单位ms,特殊值见LUAT_RTOS_WAIT_E |
int luat_rtos_message_send | ( | luat_rtos_task_handle | task_handle, |
uint32_t | message_id, | ||
void * | p_message ) |
发送一个message给task的mailbox,只有设置了mailbox启用的task能接收,message可以动态创建的,可以任意大小,如果缓存了超过1024个message会断言
task_handle | 需要接收massage的task句柄 |
message_id | message id |
p_message | message内容,传入指针,如果动态创建,需要在接收时释放 |