osiThreadCallback 什么用途

看下实现,就是给一个任务发送了一个事件。event 有3个参数,第一个参数是回调,第2个参数是回调函数的实现,第3个参数是回调函数的参数。

bool osiThreadCallback(osiThread_t *thread, osiCallback_t cb, void *cb_ctx)
{
    if (thread == NULL || cb == NULL)
        return false;

    osiEvent_t event = {
        .id = OSI_EVENT_ID_CALLBACK,
        .param1 = (uint32_t)cb,
        .param2 = (uint32_t)cb_ctx,
        .param3 = 0,
    };

    if (IS_IRQ())
        return osiEventTrySend(thread, &event, 0);

    return osiEventSend(thread, &event);
}

 

posted @ 2022-10-19 16:23  429512065  阅读(47)  评论(0编辑  收藏  举报